Person 类,
该类有以下属性:姓名,性别,年龄,HP,MP
可以通过姓名     对获取的对象初始化
可以通过姓名、性别  对获取的对象初始化
可以通过姓名、性别、年龄  对获取的对象初始化
创建10个人的对象(姓名和年龄不能重复)
通过年龄对10个人排序输出排完的姓名、年龄的序列 怎么才能让年龄和姓名一一对应起来呢..?

解决方案 »

  1.   

    Person[] person=new Person[10];
    //装入数据...Person temp = new Person();
    for (int i = 0; i < 9; i++) {
      for (int j = i; j < 9; j++) {
        if (person[i].getAge() > person[i + 1].getAge()) {
          temp = person[i];
          person[i] = person[i + 1];
          person[i + 1] = temp;
        }
      }
    }for (int i = 0; i < 10; i++)
      System.out.println("姓名:" + person[i].getName() + ",年龄:" + person[i].getAge());其他略...
      

  2.   

    年龄可能为空啊。 那就设年龄的默认值为零吧。class Person {
        private Hashtable hunman; (name, age)
        private int sex; (0,1)
    }结构这样设定可能会好些。
      

  3.   


    public class Person {
    private String name; private int age; public void setName(String name) {
    this.name = name;
    } public void setAge(int age) {
    this.age = age;
    } public String getName() {
    return name;
    } public int getAge() {
    return age;
    }
    }public class Test {
    public static void main(String[] args) {
    Person[] person = new Person[10];
    for (int i = 0; i < 10; i++) {
    person[i] = new Person();
    person[i].setName(i + "");
    person[i].setAge(40 - i);
    } Person temp = new Person();
    for (int i = 0; i < 9; i++) {
    for (int j = i; j < 9; j++) {
    if (person[i].getAge() > person[i + 1].getAge()) {
    temp = person[i];
    person[i] = person[i + 1];
    person[i + 1] = temp;
    }
    }
    } for (int i = 0; i < 10; i++)
    System.out.println("姓名:" + person[i].getName() + ",年龄:"
    + person[i].getAge()); }
    }
      

  4.   

    其实你建好的这个Persion类里面包含的属性已经是一一对应起来了。
    譬如:Persion p1 = new Persion();
          p1.name = "name1";
          p1.age = 20;
          Persion p2 =new Persion();
          p2.name = "name2";
          p2.age = 18;     if(p1.age > p2.age)
            System.out.println(p1.name);
         else
            System.out.println(p2.name);把年龄较大的人的名字就直接打印出来了~~我只是举一个例子。具体的排序,还要你自己去写。
      

  5.   

    6楼排序有问题:for (int i = 0; i < 9; i++) {
                for (int j = i; j < 9; j++) {
                    if (person[i].getAge() > person[i + 1].getAge()) {
                        temp = person[i];
                        person[i] = person[i + 1];
                        person[i + 1] = temp;
                    }