关于eclipse运行报错的问题:
public static void main(String[] args)
{
student[] stu = new student[5];
int a=0;
for(int q=0;q<stu.length;q++)
{
student m=new student();
stu[a]=m;
a++;
}
Scanner s=new Scanner(System.in);
for(int i=0;i<stu.length;i++)
{
System.out.println("请输入学生信息"+(i+1));
stu[i].setName(s.next());
stu[i].setAge(s.nextInt());
stu[i].setSex(s.next());
stu[i].setMark(s.nextInt());
}
for(int j=0;j<stu.length;j++) {
for(int k=0;k<stu.length-1;k++)
{
if(stu[k].mark>stu[k+1].mark)
{
int temp=stu[k].mark;
stu[k].mark=stu[k+1].mark;
stu[k+1].mark=temp;
String n=stu[k].name;
stu[j].name=stu[k+1].name;
stu[k+1].name=n;
int age=stu[k].age;
stu[k].age=stu[k+1].age;
stu[k+1].age=age;
String sex=stu[k].sex;
stu[k].sex=stu[k+1].sex;
stu[k+1].sex=sex;
}
}
System.out.println(stu[j].name+stu[j].age+stu[j].sex+stu[j].mark);
}
}
以上为源代码,运行后会出现:
这是因为我们没有给每一个数组定义一个固定存放的地址,如下图所示加上即可: