7. 编写一个程序,定义一个Person类,包含属性name和age,以及一个比较年龄大小的方法compareAge()。然后从标准输入中读入n个人的姓名和年龄,创建n个Person对象并将它们存储在一个ArrayList中。最后对ArrayList进行排序,排序规则是按照年龄从小到大的顺序,并输出排序后的结果。
时间: 2024-03-12 10:48:27 浏览: 28
好的,以下是使用Java语言实现的代码:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Person implements Comparable<Person> {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public int compareTo(Person p) {
return this.age - p.age;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入人数:");
int n = scanner.nextInt();
ArrayList<Person> persons = new ArrayList<Person>();
for (int i = 0; i < n; i++) {
System.out.println("请输入第" + (i + 1) + "个人的姓名和年龄:");
String name = scanner.next();
int age = scanner.nextInt();
persons.add(new Person(name, age));
}
Collections.sort(persons);
System.out.println("按年龄从小到大排序后的结果为:");
for (Person person : persons) {
System.out.println(person.getName() + " " + person.getAge());
}
scanner.close();
}
}
```
程序的思路是先定义一个Person类,包含姓名和年龄两个属性,以及一个比较年龄大小的方法compareAge()。然后从标准输入中读入n个人的姓名和年龄,创建n个Person对象并将它们存储在一个ArrayList中。最后对ArrayList进行排序,排序规则是按照年龄从小到大的顺序,并输出排序后的结果。