生活随笔
收集整理的這篇文章主要介紹了
用Java代码实现学生管理系统
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 學生管理系統
- 1.1 項目演示
- 1.2 學生管理系統實現思路
- 1.3 定義學生類
- 1.4 主界面的代碼編寫
- 1.5 添加學生的代碼編寫
- 1.6 查看學生代碼的編寫
- 1.7 查看學生代碼的編寫升級版
- 1.8 刪除學生的代碼編寫
- 1.9 修改學生的代碼編寫
- 1.10 解決刪除/修改學生學號不存在問題
- 1.11 解決添加學生學號重復問題
- 1.12 新增根據學生學號查詢學生信息模塊以及輸入錯誤指令后重新輸入的代碼(詳情請看1.13完整代碼)
- 1.13 完整代碼
學生管理系統
1.1 項目演示
1.2 學生管理系統實現思路
定義學生類主界面的代碼編寫添加學生的代碼編寫查看學生的代碼編寫刪除學生的的代碼編寫修改學生的代碼編寫
1.3 定義學生類
學生類:
成員變量:
- 學號:sid
- 姓名:name
- 年齡:age
- 居住地:address
構造方法:
成員方法:
1.4 主界面的代碼編寫
思路
用輸出語句完成主界面的編寫用Scanner實現鍵盤錄入數據用switch語句完成操作的選擇用循環完成再次回到主界面
1.5 添加學生的代碼編寫
思路
用鍵盤錄入選擇添加學生
定義一個方法,用于添加學生
顯示提示信息,提示要輸入何種信息鍵盤錄入學生對象所需要的的數據創建學生對象,把鍵盤錄入的數據賦值給學生對象的成員變量將學生對象添加到集合中(保存)調用方法
1.6 查看學生代碼的編寫
思路
用鍵盤錄入選擇查看所有學生信息定義一個方法,用于查看學生信息 顯示表頭信息將集合中數據取出按照對應格式顯示學生信息,年齡顯示補充”歲“ 調用方法
1.7 查看學生代碼的編寫升級版
思考: 假如并沒有先添加學生,而是一進來就直接查看學生信息,這時候集合中是沒有數據的,控制臺就不可能有學生數據信息,表頭的信息也不應該顯示。
思路
用鍵盤錄入選擇查看所有學生信息定義一個方法,用于查看學生信息
1. 判斷集合中是否有數據,如果沒有顯示提示信息
2. 顯示表頭信息
3. 將集合中數據取出按照對應格式顯示學生信息,年齡顯示補充”歲“調用方法
1.8 刪除學生的代碼編寫
思路
用鍵盤錄入選擇刪除學生信息定義一個方法,用于刪除學生信息 顯示提示信息鍵盤錄入要刪除的學生學號遍歷集合將對應學生對象從集合中刪除給出刪除成功提示 調用方法
1.9 修改學生的代碼編寫
思路
用鍵盤錄入選擇修改學生信息定義一個方法,用于修改學生信息 顯示提示信息鍵盤錄入要修改的學生學號鍵盤錄入要修改的學生信息遍歷集合修改對應的學生信息給出修改成功提示 調用方法
1.10 解決刪除/修改學生學號不存在問題
思路
在刪除/修改學生操作前,對學號是否存在進行判斷 如果不存在,顯示提示信息如果存在,執行刪除/修改操作
1.11 解決添加學生學號重復問題
思路
定義一個方法,對學號是否被使用進行判斷 - 如果與集合中的某一個學生學號相同,返回true
- 如果都不相同,返回false
在添加學生錄入學號后調用該方法 如果返回true,彈出提示,重新輸入學號如果返回false,正常添加學生對象
1.12 新增根據學生學號查詢學生信息模塊以及輸入錯誤指令后重新輸入的代碼(詳情請看1.13完整代碼)
1.13 完整代碼
Student(學生類)
public class Student {private String sid
;private String name
;private String age
;private String address
;public Student() {}public Student(String sid
, String name
, String age
, String address
) {this.sid
= sid
;this.name
= name
;this.age
= age
;this.address
= address
;}public String getSid() {return sid
;}public void setSid(String sid
) {this.sid
= sid
;}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
;}
}
StudentManager(學生管理系統類)
public class StudentManager {public static void main(String[] args
) {ArrayList<Student> array
= new ArrayList<Student>();while (true) {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("6 退出");System.out
.println("-------------------------------------");Scanner scanner
= new Scanner(System.in
);String line
= scanner
.nextLine();switch (line
) {case "1":addStudent(array
);break;case "2":deleteStudent(array
);break;case "3":updataStudent(array
);break;case "4":findStudentBySid(array
);break;case "5":findAllStudent(array
);break;case "6":System.out
.println("謝謝使用!");System.exit(0);break;default:System.out
.println("輸入命令有誤,請重新輸入!");}}}public static void addStudent(ArrayList<Student> array
) {Scanner sc
= new Scanner(System.in
);String sid
;while (true) {System.out
.println("請輸入學生學號:");sid
= sc
.nextLine();boolean flag
= isUsed(array
, sid
);if (flag
) {System.out
.println("你輸入的學號已經被使用,請重新輸入");} else {break;}}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
.setSid(sid
);s
.setName(name
);s
.setAge(age
);s
.setAddress(address
);array
.add(s
);System.out
.println("添加學生成功");}public static boolean isUsed(ArrayList<Student> array
, String sid
) {boolean flag
= false;for (int i
= 0; i
< array
.size(); i
++) {Student s
= array
.get(i
);if (s
.getSid().equals(sid
)) {flag
= true;break;}}return flag
;}public static void findStudentBySid(ArrayList<Student> array
) {Scanner sc
= new Scanner(System.in
);System.out
.println("請輸入學生學號:");String sid
= sc
.nextLine();int index
= -1;Student s
= null;for (int i
= 0; i
< array
.size(); i
++) {s
= array
.get(i
);if (s
.getSid().equals(sid
)) {index
= i
;break;}}if (index
== -1) {System.out
.println("該學號不存在,請重新輸入");} else {System.out
.println("學號\t\t\t姓名\t\t年齡\t\t居住地");System.out
.println(s
.getSid() + "\t\t" + s
.getName() + "\t\t" + s
.getAge() + "歲\t\t" + s
.getAddress());}}public static void findAllStudent(ArrayList<Student> array
) {if (array
.size() == 0) {System.out
.println("無信息,請先添加信息再查詢");return;}System.out
.println("學號\t\t\t姓名\t\t年齡\t\t居住地");for (int i
= 0; i
< array
.size(); i
++) {Student s
= array
.get(i
);System.out
.println(s
.getSid() + "\t\t" + s
.getName() + "\t\t" + s
.getAge() + "歲\t\t" + s
.getAddress());}}public static void deleteStudent(ArrayList<Student> array
) {Scanner sc
= new Scanner(System.in
);System.out
.println("請輸入要刪除的學生的學號");String sid
= sc
.nextLine();int index
= -1;for (int i
= 0; i
< array
.size(); i
++) {Student s
= array
.get(i
);if (s
.getSid().equals(sid
)) {index
= i
;break;}}if (index
== -1) {System.out
.println("該學號不存在,請重新輸入");} else {array
.remove(index
);System.out
.println("刪除學生成功");}}public static void updataStudent(ArrayList<Student> array
) {Scanner sc
= new Scanner(System.in
);System.out
.println("請輸入要修改的學生的學號");String sid
= sc
.nextLine();int index
= -1;for (int i
= 0; i
< array
.size(); i
++) {Student s
= array
.get(i
);if (s
.getSid().equals(sid
)) {index
= i
;break;}}if (index
== -1) {System.out
.println("該學號不存在,請重新輸入");} else {for (int j
= 0; j
< array
.size(); j
++) {Student student
= array
.get(j
);if (student
.getSid().equals(sid
)) {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
.setSid(sid
);s
.setName(name
);s
.setAge(age
);s
.setAddress(address
);array
.set(j
, s
);System.out
.println("修改學生成功");break;}}}}
}
總結
以上是生活随笔為你收集整理的用Java代码实现学生管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。