public class test 
{
private String name;
private int age,score;

public void test()                 { age=0;name="匿名";score=0;}

public void setAge(int value) { age=value; }
public void setScore(int value) { score=value; }
public void setName(String value) { name=value; }

public int getAge() {return age;}
public int getScore()         {return score;}
public String getName()                 {return name;} public static void main(String argv[])
{

test t[]=new test[4];
/* private void setValue(int age,String name,int score,test t)
{
t.setAge(age);
t.setName(name);
t.setScore(score);
}
setValue(18,"一",100,t[0]);
setValue(19,"二",101,t[1]);
setValue(20,"三",102,t[2]);
setValue(21,"四",103,t[3]);
setValue(18,"五",100,t[4]); */

t[0].setAge(18); 
t[0].setName("圣诞节");
t[0].setScore(100);
t[1].setAge(19); t[1].setName("平安夜"); t[1].setScore(102);
t[2].setAge(20); t[2].setName("狂欢夜"); t[2].setScore(103);
t[3].setAge(21); t[3].setName("新年"); t[3].setScore(104);
t[4].setAge(18); t[4].setName("元旦"); t[4].setScore(100);


int i=0,j=0,temp=0;
for (j=0;j<4;j++)
{
for (i=0;i<4-j;i++)
{
if (t[i].getScore()>t[i+1].getScore()) 
{
temp=t[i].getScore();
t[i].setScore(t[i+1].getScore());
t[i+1].setScore(temp);
}
}
}
for (i=0;i<5;i++)
{
System.out.println(t[i].getAge()+" "+t[i].getName()+" "+t[i].getScore());
}
}
}

解决方案 »

  1.   

    public class Test {
    private String name;
    private int age, score; public Test() {
    age = 0;
    name = "匿名";
    score = 0;
    } public void setAge(int value) {
    age = value;
    } public void setScore(int value) {
    score = value;
    } public void setName(String value) {
    name = value;
    } public int getAge() {
    return age;
    } public int getScore() {
    return score;
    } public String getName() {
    return name;
    } public static void main(String argv[]) { Test t[] = new Test[5];
    for (int i=0;i<5;i++) {
    t[i] = new Test();
    }
    t[0].setAge(18);
    t[0].setName("圣诞节");
    t[0].setScore(100);
    t[1].setAge(19);
    t[1].setName("平安夜");
    t[1].setScore(102);
    t[2].setAge(20);
    t[2].setName("狂欢夜");
    t[2].setScore(103);
    t[3].setAge(21);
    t[3].setName("新年");
    t[3].setScore(104);
    t[4].setAge(18);
    t[4].setName("元旦");
    t[4].setScore(100); int i = 0, j = 0, temp = 0;
    for (j = 0; j < 4; j++) {
    for (i = 0; i < 4 - j; i++) {
    if (t[i].getScore() > t[i + 1].getScore()) {
    temp = t[i].getScore();
    t[i].setScore(t[i + 1].getScore());
    t[i + 1].setScore(temp);
    }
    }
    }
    for (i = 0; i < 5; i++) {
    System.out.println(t[i].getAge() + " " + t[i].getName() + " "
    + t[i].getScore());
    }
    }
    }
    数组中的元素没有初始化
    构造方法写法也有问题
      

  2.   

    正解
    像setAge()这样的非静态方法要在对象实例化之后才能调用的
      

  3.   

    还有if (t[i].getScore() > t[i + 1].getScore())越界异常