[Java] 纯文本查看 复制代码 import java.util.ArrayList;
import java.util.Scanner;
/**
* 利用面向对象与集合做一个动态输入学生信息并打印的小程序
* */
public class DemoStudent {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 定义标志
boolean flag = true;
// 定义动态数组
ArrayList<Student> arr = new ArrayList<Student>();
while (flag) {
// 每次循环创建一个新的Student类对象
Student stu = new Student();
// 给Student类属性赋值
System.out.println("请输入学生姓名: ");
stu.setName(sc.next());
System.out.println("请输入学生年龄: ");
stu.setAge(sc.nextInt());
System.out.println("请输入学生性别: ");
stu.setSex(sc.next());
System.out.println("请输入学生班级: ");
stu.setClassName(sc.next());
// 将stu对象添加到集合
arr.add(stu);
// 提醒用户是否继续添加学生
System.out.println("是否继续添加?y(是)/n(否)");
// 判断是否继续执行循环
if ((sc.next().equals("n"))) {
// 如果用户选否,更改flag为false
flag = false;
}
}
//调用方法打印学生信息
printStudentInfo(arr);
}
/**
* 打印学生信息的方法
* */
public static void printStudentInfo(ArrayList<Student> arr){
//for循环遍历打印
for (int i = 0; i < arr.size(); i++) {
//创建Student对象接收传来的对象地址
Student stu = new Student();
stu = arr.get(i);
System.out.println("姓名: "+stu.getName()+" 年龄: "+stu.getAge()+
" 性别: "+stu.getSex()+" 班级: "+stu.getclassName());;
}
}
}
/**
* 学生类
*/
class Student {
String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
int age;
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return this.age;
}
String sex;
public void setSex(String sex) {
this.sex = sex;
}
public String getSex() {
return this.sex;
}
String className;
public void setClassName(String className) {
this.className = className;
}
public String getclassName() {
return this.className;
}
} |