任务目标:创建一个存储学生对象的集合,存储多个学生对象,使用程序实现在控制台遍历该集合学生的姓名和年龄,其中,学生数量和学生信息都来自于键盘输入。
思路:
1.定义学生类,包含两个成员变量:学生姓名(String name),学生年龄(String age);
2.创建集合对象;
3.键盘录入学生对象所需的数据;
4.创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
5.向集合中添加学生对象
6.遍历集合
具体代码如下:
/**
* 学生类
*/
public class Student {
//成员变量
private String name;
private String age;
//构造方法
public Student(){}
public Student(String name,String age){
this.name = name;
this.age = age;
}
//成员方法
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setAge(String age){
this.age = age;
}
public String getAge(){
return age;
}
}
import java.util.ArrayList;
import java.util.Scanner;
public class ArrayListTest {
public static void main(String[] args) {
//创建集合对象
ArrayList<Student> array = new ArrayList<Student>();
//从键盘获取学生数量number
Scanner sc = new Scanner(System.in);
System.out.print("请输入学生的个数:");
int number = sc.nextInt();
//通过for循环,重复调用ADDStudent方法
for(int i = 0;i<number;i++){
ADDStudent(array);
}
//通过for循环,遍历集合并输出
for(int i = 0;i<array.size();i++){
Student sl = array.get(i);
System.out.println(sl.getName()+","+sl.getAge());
}
}
//ADDStudent方法
//返回值类型:void
//参数:ArrayList<Student> array
public static void ADDStudent(ArrayList<Student> array){
//从键盘获取学生信息(学生姓名和学生年龄)
Scanner sc = new Scanner(System.in);
System.out.print("请输入学生姓名:");
String name = sc.nextLine();
System.out.print("请输入学生年龄;");
String age = sc.nextLine();
//将学生信息通过setName()和setAge()方法添加到Student类中
Student s = new Student();
s.setName(name);
s.setAge(age);
//通过add()方法添加到集合中
array.add(s);
}
}
运行结果图: