- 你这 只是交换了局部变量的 age 吧,也没有将对应数据设置到person类里,另外 其他的数据也还是原来
- 参考如下:
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
person[] persons= new person [3];
persons[0] = new person("刷个",25,"演员");
persons[1] = new person("李白", 24, "诗人");
persons [2]=new person("杜甫",30,"诗人");
for(int i=0;i<persons.length-1;i++){
for(int j=0;j< persons.length-i-1;j++){
if(persons[j].getAge()>persons[j+1].getAge()){
person tmp = persons[j];
persons[j] = persons[j+1];
persons[j+1] = tmp;
}
}
}
System.out.println(Arrays.toString(persons));
}
private static class person {
private String name;
private int age;
private String job;
public person(String name, int age, String job) {
this.name = name;
this.age = age;
this.job = job;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
@Override
public String toString() {
return "person{" +
"name='" + name + '\'' +
", age=" + age +
", job='" + job + '\'' +
'}';
}
}
}