1. 程式人生 > >IO流結合學生管理系統的練習

IO流結合學生管理系統的練習

新增學生類資訊到文字

public static void main(String[] args) throws IOException {
	// 定義學生類
	// 建立集合物件array
	ArrayList<Student> array = new ArrayList<Student>();
	addStudent(array);
	addStudent(array);
	addStudent(array);
		// 建立輸出緩衝流
		BufferedWriter bw = new BufferedWriter(new FileWriter("babba.java", true));
		// 遍歷集合物件array,
		for (int a = 0; a < array.size(); a++) {
			Student s = array.get(a);
			// 建立StringBuilder物件sb,用到他的append方法
			StringBuilder sb = new StringBuilder();
			sb.append(s.getId()).append(",").append(s.getName()).append(",").append(s.getAge());
			// 把上面的轉換成String
			bw.write(sb.toString());
			bw.newLine();
			bw.flush();
			System.out.println(sb.toString());
		}
		bw.close();

}

public static void addStudent(ArrayList<Student> array) {
	// 建立鍵盤輸入
	Scanner sc = new Scanner(System.in);

	String id;
	while (true) {
		// 建立變數接收資料
		System.out.println("id:");
		id = sc.nextLine();

		int index = -1;
		for (int a = 0; a < array.size(); a++) {
			Student s = array.get(a);
			if (s.getId().equals(id)) {
				index = a;
			}

		}
		if (index == -1) {
			break;
		} else {
			System.out.println("學號有重複");
			return;
		}
	}

	System.out.println("name:");
	String name = sc.nextLine();
	System.out.println("age:");
	String age = sc.nextLine();
	// 把上面的資料新增到學生類
	Student s = new Student();
	s.setId(id);
	s.setAge(age);
	s.setName(name);
	// 新增到集合
	array.add(s);
}

在這裡插入圖片描述