天天看點

學生管理系統 增删改查

學生管理系統

步驟如下:

A:定義學生類

B:學生管理系統的主界面的代碼編寫

C:學生管理系統的檢視所有學生的代碼編寫

D:學生管理系統的添加學生的代碼編寫

E:學生管理系統的删除學生的代碼編寫

F:學生管理系統的修改學生的代碼編寫

Student類
package StudentManager;
	
public class Student {
	//定義成員變量
	private String id;
	private String name;
	private String age;
	private String address;
	
	//生成無參構造方法
	public Student() {
//		super();
		// TODO Auto-generated constructor stub
		
	}
	
	//生成有參構造方法
	public Student(String id, String name, String age, String address) {
//		super();
		this.id = id;
		this.name = name;
		this.age = age;
		this.address = address;
	}

	//生成get set 方法
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getAge() {
		return age;
	}

	public void setAge(String age) {
		this.age = age;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}
	
}
           
Test類
package StudentManager;

import java.sql.Array;
import java.util.ArrayList;
import java.util.Scanner;

/*
步驟如下:
A:定義學生類
B:學生管理系統的主界面的代碼編寫
C:學生管理系統的檢視所有學生的代碼編寫
D:學生管理系統的添加學生的代碼編寫
E:學生管理系統的删除學生的代碼編寫
F:學生管理系統的修改學生的代碼編寫

*/
public class StudentMannagerTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		// 建立集合對象,用于存儲學生資料
		ArrayList<Student> array = new ArrayList<Student>();

		// 使用循環,讓程式回到主界面
		while (true) {

			// 學生管理系統主界面
			System.out.println("**************");
			System.out.println("* 學生管理系統 *");
			System.out.println("**************");
			System.out.println("1檢視所有學生");
			System.out.println("2添加學生");
			System.out.println("3删除學生");
			System.out.println("4修改學生");
			System.out.println("5退出");
			System.out.println("請輸入你的選擇:");

			// 建立鍵盤錄入對象
			Scanner sc = new Scanner(System.in);
			String choiceString = sc.nextLine();

			// switch語句在jdk1.7之後表達式的位置可以放一個字元串
			switch (choiceString) {
			case "1":
				// 檢視所有學生
				findAllStudent(array);
				break;
			case "2":
				// 添加學生學生
				addStudent(array);
				break;
			case "3":
				// 删除學生
				deleteStudent(array);
				break;
			case "4":
				// 修改學生
				updateStudent(array);
				break;
			case "5":
				// 退出
				System.out.println("謝謝你的使用 ...");// case穿透:這兩行可以省略。
				System.exit(0);
				break;
			default:
				System.out.println("謝謝你的使用 ...");
				System.exit(0);// JVM退出
				break;// 結束switch
			}
		} // true

	}

	// 修改學生
	private static void updateStudent(ArrayList<Student> array) {
		// TODO Auto-generated method stub
		// 修改學生的思路:鍵盤錄入一個學号,到集合中去查找,看是否有學生使用的是該學号,如果有就修改該學生
		Scanner sc = new Scanner(System.in);
		System.out.println("請輸入你要修改的學生的學号:");
		String id = sc.nextLine();

		// 判斷錄入的學号是否存在

		// 定義一個索引
		int index = -1;

		// 周遊集合
		for (int x = 0; x < array.size(); x++) {
			// 擷取每一個學生對象
			Student s = array.get(x);
			// 拿學生對象的學号和鍵盤錄入的學号進行比較
			if (s.getId().equals(id)) {
				index = x;
				break;
			}
		}

		if (index == -1) {
			System.out.println("不好意思,你要修改的學号對應的學生資訊不存在,請回去重新你的選擇 ...");
		} else {
			System.out.println("請輸入學生新姓名:");
			String name = sc.nextLine();
			System.out.println("請輸入學生新年齡:");
			String age = sc.nextLine();
			System.out.println("請輸入學生新居住地:");
			String address = sc.nextLine();

			// 建立學生對象
			Student s = new Student();
			s.setId(id);
			s.setName(name);
			s.setAge(age);
			s.setAddress(address);

			// 修改集合中的學生對象***********
			array.set(index, s);

			// 給出提示
			System.out.println("修改學生成功");
		}

	}

	// 删除學生
	private static void deleteStudent(ArrayList<Student> array) {
		// TODO Auto-generated method stub
		// 删除學生的思路:鍵盤錄入一個學号,到集合中去查找,看是否有學生使用的是該學号,如果有就删除該學生
		Scanner sc = new Scanner(System.in);
		System.out.println("請輸入你要删除的學生的學号:");
		String id = sc.nextLine();

		/*
		 * //周遊集合 for(int x=0; x<array.size(); x++) { //擷取到每一個學生對象 Student s =
		 * array.get(x); //拿這個學生對象的學号和鍵盤錄入的學号進行比較 if(s.getId().equals(id)) {
		 * array.remove(x); //根據索引删除 break;//學号不重複 } } //給出提示
		 * System.out.println("删除學生成功");
		 */

		// 給出學号不存在的時候的提示*****改鍵代碼

		// 定義一個索引
		int index = -1;

		// 周遊集合
		for (int x = 0; x < array.size(); x++) {
			// 擷取到每一個學生對象
			Student s = array.get(x);
			// 拿這個學生對象的學号和鍵盤錄入的學号進行比較
			if (s.getId().equals(id)) {
				index = x;
				break;
			}
		}

		if (index == -1) {
			System.out.println("不好意思,你要删除的學号對應的學生資訊不存在,請回去重新你的選擇 ...");
		} else {
			array.remove(index);
			System.out.println("删除學生成功");
		}

	}

	// 添加學生
	private static void addStudent(ArrayList<Student> array) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);

		// 為了讓id能夠被通路到,把id定義在了循環的外面
		String id;

		// 為了讓代碼能夠回到這裡,用循環
		while (true) {
			System.out.println("請輸入學生學号:");// 如果被占用,回到這一行
			// String id = sc.nextLine();
			id = sc.nextLine();

			// 判斷學号有沒有被人占用
			// 定義标記
			boolean flag = false;
			// 周遊集合,得到每一個學生
			for (int x = 0; x < array.size(); x++) {
				Student s = array.get(x);
				// 擷取該學生的學号,和鍵盤錄入的學号進行比較
				if (s.getId().equals(id)) {
					flag = true; // flag被修改為true,說明學号被占用了
					break;
				}
			}

			if (flag) {
				System.out.println("你輸入的學号已經被占用,請重新輸入 ...");// 如果被占用
			} else {
				break; // 結束while循環
			}
		}

		// System.out.println("請輸入學生學号:");
		// String id = sc.nextLine();
		System.out.println("請輸入學生姓名:");
		String name = sc.nextLine();
		System.out.println("請輸入學生年齡:");
		String age = sc.nextLine();
		System.out.println("請輸入學生居住地:");
		String address = sc.nextLine();

		// 建立學生對象
		Student s = new Student();
		s.setId(id);// 指派
		s.setName(name);
		s.setAge(age);
		s.setAddress(address);

		// 把學生對象作為元素添加到集合
		array.add(s);

		// 給出提示
		System.out.println("添加學生成功");

	}

	// 檢視所有學生
	private static void findAllStudent(ArrayList<Student> array) {
		// TODO Auto-generated method stub
		// 首先來判斷集合中是否有資料,如果沒有資料,就給出提示,并讓該方法不繼續往下執行
		if (array.size() == 0) {
			System.out.println("不好意思,目前沒有學生資訊可供查詢,請回去重新選擇你的操作 ...");
			return;// 方法不繼續執行
		}

		// 周遊集合
		System.out.println("學号\t姓名\t年齡\t居住地");
		for (int x = 0; x < array.size(); x++) {
			Student s = array.get(x);
			System.out.println(s.getId() + "\t" + s.getName() + "\t" + s.getAge() + "\t" + s.getAddress());
		}

	}

}
           
結果:
**************
* 學生管理系統 *
**************
1檢視所有學生
2添加學生
3删除學生
4修改學生
5退出
請輸入你的選擇:
1
不好意思,目前沒有學生資訊可供查詢,請回去重新選擇你的操作 ...
**************
* 學生管理系統 *
**************
1檢視所有學生
2添加學生
3删除學生
4修改學生
5退出
請輸入你的選擇:
2
請輸入學生學号:
123456
請輸入學生姓名:
張三
請輸入學生年齡:
20
請輸入學生居住地:
北京
添加學生成功
**************
* 學生管理系統 *
**************
1檢視所有學生
2添加學生
3删除學生
4修改學生
5退出
請輸入你的選擇:
2
請輸入學生學号:
1234567
請輸入學生姓名:
王二
請輸入學生年齡:
21
請輸入學生居住地:
西安
添加學生成功
**************
* 學生管理系統 *
**************
1檢視所有學生
2添加學生
3删除學生
4修改學生
5退出
請輸入你的選擇:
1
學号	姓名	年齡	居住地
123456	張三	20	北京
1234567	王二	21	西安
**************
* 學生管理系統 *
**************
1檢視所有學生
2添加學生
3删除學生
4修改學生
5退出
請輸入你的選擇:
4
請輸入你要修改的學生的學号:
1234567
請輸入學生新姓名:
李四
請輸入學生新年齡:
22
請輸入學生新居住地:
北京
修改學生成功
**************
* 學生管理系統 *
**************
1檢視所有學生
2添加學生
3删除學生
4修改學生
5退出
請輸入你的選擇:
1
學号	姓名	年齡	居住地
123456	張三	20	北京
1234567	李四	22	北京
**************
* 學生管理系統 *
**************
1檢視所有學生
2添加學生
3删除學生
4修改學生
5退出
請輸入你的選擇:
5
謝謝你的使用 ...