生活随笔
收集整理的這篇文章主要介紹了
Java实现:学生管理系统
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
案例:學生管理系統
學生管理系統實現思路
定義學生類主界面的代碼編寫添加學生的代碼編寫查看學生代碼的編寫刪除學生代碼的編寫修改學生代碼的編寫
1.定義學生類
學生類:
Student
成員變量:
學號:sid
姓名:name
年齡:age
居住地:address
構造方法:
無參構造
帶四個參數的構造
成員方法:
每個成員變量對應給出get/set方法
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
;}
}
提醒:可以用idea快捷鍵Alt+Insert快速添加構造及成員方法。
2. 主界面的代碼編寫
用輸出語句完成主界面的縮寫用Scanner實現鍵盤錄入數據用switch語句完成操作的選擇用循環完成再次回到主界面
import java
.util
.Scanner
;
public class StudentManager {public static void main(String
[] args
) {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();System
.out
.println("請輸入你的選擇:");Scanner sc
= new Scanner(System
.in
);String line
= sc
.nextLine();switch (line
) {case "1":System
.out
.println("添加學生");break;case "2":System
.out
.println("刪除學生");break;case "3":System
.out
.println("修改學生");break;case "4":System
.out
.println("查看所有學生");break;case "5":System
.out
.println("謝謝使用");System
.exit(0); }}
}}
3. 添加學生的代碼編寫
用鍵盤錄入選擇添加學生定義一個方法,用于添加學生
1)現實提示信息,提示要輸入何種信息
2)鍵盤錄入學生對象所學要的數據
3)創建學生對象,把鍵盤錄入的數據賦值給學生對象的成員變量
4)將學生對象添加到集合中(保存)
5)給出添加成功提示調用方法
import java
.util
.ArrayList
;
import java
.util
.Scanner
;
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();System
.out
.println("請輸入你的選擇:");Scanner sc
= new Scanner(System
.in
);String line
= sc
.nextLine();switch (line
) {case "1":addStudent(array
);break;case "2":System
.out
.println("刪除學生");break;case "3":System
.out
.println("修改學生");break;case "4":System
.out
.println("查看所有學生");break;case "5":System
.out
.println("謝謝使用");System
.exit(0); }}
}public static void addStudent(ArrayList
<Student> array
){Scanner sc
=new Scanner(System
.in
);System
.out
.println("請輸入學生學號");String sid
= 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
.setSid(sid
);s
.setName(name
);s
.setAge(age
);s
.setAddress(address
);array
.add(s
);System
.out
.println("添加學生成功");}
}
4. 查看學生代碼的編寫
用鍵盤錄入選擇查看所有學生信息定義一個方法,用于查看學生信息
1)顯示表頭信息
2)將集合中的數據取出安裝對應格式顯示學生信息,年齡顯示補充“歲”調用方法
import java
.util
.ArrayList
;
import java
.util
.Scanner
;
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();System
.out
.println("請輸入你的選擇:");Scanner sc
= new Scanner(System
.in
);String line
= sc
.nextLine();switch (line
) {case "1":addStudent(array
);break;case "2":System
.out
.println("刪除學生");break;case "3":System
.out
.println("修改學生");break;case "4":findAllStudent(array
);break;case "5":System
.out
.println("謝謝使用");System
.exit(0); }}
}public static void addStudent(ArrayList
<Student> array
){Scanner sc
=new Scanner(System
.in
);System
.out
.println("請輸入學生學號");String sid
= 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
.setSid(sid
);s
.setName(name
);s
.setAge(age
);s
.setAddress(address
);array
.add(s
);System
.out
.println("添加學生成功");}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"+s
.getName()+"\t"+s
.getAge()+"歲\t"+s
.getAddress());}}
}
5. 刪除學生代碼的編寫
用鍵盤錄入選擇刪除學生信息定義一個方法,用于刪除學生信息
1)顯示提示信息
2)鍵盤錄入要刪除的學生學號
3)遍歷集合將對應學生對象從集合中刪除
4)給出刪除成功的提示調用方法
import java
.util
.ArrayList
;
import java
.util
.Scanner
;
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();System
.out
.println("請輸入你的選擇:");Scanner sc
= new Scanner(System
.in
);String line
= sc
.nextLine();switch (line
) {case "1":addStudent(array
);break;case "2":deleteStudent(array
);break;case "3":System
.out
.println("修改學生");break;case "4":findAllStudent(array
);break;case "5":System
.out
.println("謝謝使用");System
.exit(0); }}
}public static void addStudent(ArrayList
<Student> array
){Scanner sc
=new Scanner(System
.in
);System
.out
.println("請輸入學生學號");String sid
= 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
.setSid(sid
);s
.setName(name
);s
.setAge(age
);s
.setAddress(address
);array
.add(s
);System
.out
.println("添加學生成功");}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"+s
.getName()+"\t"+s
.getAge()+"歲\t"+s
.getAddress());}}public static void deleteStudent(ArrayList
<Student> array
){Scanner sc
=new Scanner(System
.in
);System
.out
.println("請輸入你要刪除的學生學號:");String sid
=sc
.nextLine();for (int i
=0;i
<array
.size();i
++){Student s
=array
.get(i
);if(s
.getSid().equals(sid
)){array
.remove(i
);break;}}System
.out
.println("刪除學生成功");}
}
6. 修改學生代碼的編寫
用鍵盤錄入選擇修改學生信息定義一個方法,用于修改學生信息
1)顯示提示信息
2)鍵盤錄入要修改的學生學號
3)鍵盤錄入要修改的學生信息
4)遍歷集合修改對應的學生信息
5)給出修改成功提示調用方法
import java
.util
.ArrayList
;
import java
.util
.Scanner
;
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();System
.out
.println("請輸入你的選擇:");Scanner sc
= new Scanner(System
.in
);String line
= sc
.nextLine();switch (line
) {case "1":addStudent(array
);break;case "2":deleteStudent(array
);break;case "3":updateStudent(array
);break;case "4":findAllStudent(array
);break;case "5":System
.out
.println("謝謝使用");System
.exit(0); }}
}public static void addStudent(ArrayList
<Student> array
){Scanner sc
=new Scanner(System
.in
);System
.out
.println("請輸入學生學號");String sid
= 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
.setSid(sid
);s
.setName(name
);s
.setAge(age
);s
.setAddress(address
);array
.add(s
);System
.out
.println("添加學生成功");}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"+s
.getName()+"\t"+s
.getAge()+"歲\t"+s
.getAddress());}}public static void deleteStudent(ArrayList
<Student> array
){Scanner sc
=new Scanner(System
.in
);System
.out
.println("請輸入你要刪除的學生學號:");String sid
=sc
.nextLine();for (int i
=0;i
<array
.size();i
++){Student s
=array
.get(i
);if(s
.getSid().equals(sid
)){array
.remove(i
);break;}}System
.out
.println("刪除學生成功");}public static void updateStudent(ArrayList
<Student> array
) {Scanner sc
= new Scanner(System
.in
);System
.out
.println("請輸入你要修改學生的學號:");String sid
= 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
.setSid(sid
);s
.setName(name
);s
.setAge(age
);s
.setAddress(address
);for(int i
=0;i
<array
.size();i
++){Student student
=array
.get(i
);if(student
.getSid().equals(sid
)){array
.set(i
,s
);break;}}System
.out
.println("修改學生成功");}
}
7.解決刪除/修改學生學號不存在的問題
在刪除/修改學生操作之前,對學號是否存在進行判斷
1)如果不存在,顯示提示信息
2)如果存在,執行刪除/修改操作
8.解決添加學生學號重復問題
定義一個方法,對學號是否被使用進行判斷
1)如果與集合中的某一個學生學號相同,返回true
2)如果都不相同,返回false在添加學生錄入學號后調用該方法
1)如果返回true,彈出提示,重新輸入學號
2)如果返回false,正常添加學生對象
import java
.util
.ArrayList
;
import java
.util
.Scanner
;
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();System
.out
.println("請輸入你的選擇:");Scanner sc
= new Scanner(System
.in
);String line
= sc
.nextLine();switch (line
) {case "1":addStudent(array
);break;case "2":deleteStudent(array
);break;case "3":updateStudent(array
);break;case "4":findAllStudent(array
);break;case "5":System
.out
.println("謝謝使用");System
.exit(0); }}
}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 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"+s
.getName()+"\t\t"+s
.getAge()+"歲\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 updateStudent(ArrayList
<Student> array
) {Scanner sc
= new Scanner(System
.in
);System
.out
.println("請輸入你要修改學生的學號:");String sid
= 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
.setSid(sid
);s
.setName(name
);s
.setAge(age
);s
.setAddress(address
);int index
=-1;for(int i
=0;i
<array
.size();i
++){Student student
=array
.get(i
);if(student
.getSid().equals(sid
)){index
=i
;break;}}if (index
==-1){System
.out
.println("該信息不存在,請重新輸入");}else{array
.set(index
,s
);System
.out
.println("修改學生成功");}}
}
個人疑問:
在修改方法里怎么先執行判斷學號重復問題再提示輸入學號,姓名,年齡,居住地。
總結
以上是生活随笔為你收集整理的Java实现:学生管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。