自定义人类:包含姓名,年龄,**属性.私有成员变量,生成无参,有参构造方法,生成get/set方法.创建5个人放到ArrayList中.
使用迭代器获取每个人的信息.找出最高的人,最矮的人并输出最高人和最矮人的信息.打印格式如下:最高的人是张三,**1.80. 最矮的人是李四,**1.60
[Java] 纯文本查看 复制代码 //自定义人类:包含姓名,年龄,**属性.私有成员变量,生成无参,有参构造方法,生成get/set方法
public class Person {
//姓名
private String name;
//年龄
private int age;
//**
private double height;
public Person() {
// TODO Auto-generated constructor stub
}
public Person(String name, int age, double height) {
super();
this.name = name;
this.age = age;
this.height = height;
}
//get/set
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 double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
}
public class Test {
public static void main(String[] args) {
// 创建键盘录入对象
Scanner sc = new Scanner(System.in);
// 创建ArrayList集合
Collection<Person> coll = new ArrayList<Person>();
// 循环录入人的信息
for (int i = 0; i < 5; i++) {
// 提示录入
System.out.println("请输入第" + (i + 1) + "个人的姓名");
String name = sc.next();
System.out.println("请输入第" + (i + 1) + "个人的年龄");
int age = sc.nextInt();
System.out.println("请输入第" + (i + 1) + "个人的**");
double height = sc.nextDouble();
// 存入集合
coll.add(new Person(name, age, height));
}
// 迭代器遍历
Iterator<Person> it = coll.iterator();
while (it.hasNext()) {
Person p = it.next();
System.out.println("姓名: " + p.getName() + " 年龄: " + p.getAge() + " **: " + p.getHeight());
}
// coll向下转型
ArrayList<Person> arr = (ArrayList<Person>) coll;
// 定义最高**
double maxHeight = arr.get(0).getHeight();
// 定义最矮**
double minHeight = arr.get(0).getHeight();
// 定义最大索引
int maxIndex = 0;
// 定义最小索引
int minIndex = 0;
// 循环集合找出最大最小**的Person对象
for (int i = 1; i < arr.size(); i++) {
// 最大**
if (maxHeight < arr.get(i).getHeight()) {
maxHeight = arr.get(i).getHeight();
maxIndex = i;
}
// 最小**
if (minHeight > arr.get(i).getHeight()) {
minHeight = arr.get(i).getHeight();
minIndex = i;
}
}
// 打印最大最小**的对象
System.out.println("最高的人是: " + arr.get(maxIndex).getName() + " **是: " + arr.get(maxIndex).getHeight() + "米");
System.out.println("最矮的人是: " + arr.get(minIndex).getName() + " **是: " + arr.get(minIndex).getHeight() + "米");
}
} |