A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

[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;
	}
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马