Java 實(shí)現(xiàn)完整功能的學(xué)生管理系統(tǒng)實(shí)例
一、前言
我們前面寫(xiě)了通訊錄管理系統(tǒng),現(xiàn)在我們來(lái)寫(xiě)個(gè)學(xué)生管理系統(tǒng),
其實(shí)主干代碼都一 不過(guò),在學(xué)生管理系統(tǒng)中我添加和優(yōu)化了許多功能,
如【登錄密碼驗(yàn)證,異常處理,非空判斷,,防止重復(fù)添加】等。
二、學(xué)生管理系統(tǒng)主要功能
- 增加學(xué)生信息
- 刪除學(xué)生信息
- 修改學(xué)生信息
- 查找學(xué)生信息
- 查看所有學(xué)生信息
- 退出學(xué)生管理系統(tǒng)
主干總覽圖:

我們分成了許多的方法模塊,便于調(diào)用。
在學(xué)生類(lèi)下
就是普通的構(gòu)造方法和get和set方法,還有一個(gè)重寫(xiě)的toString方法
(Alt+Insert可以快速生成上述的所有)
package 學(xué)生管理系統(tǒng);
public class Student {
private String name;
private String age;
private String sex;
private String number;
private String classroom;
public Student(){}
public Student(String name, String age, String sex, String classroom,String number) {
this.name = name;
this.age = age;
this.sex = sex;
this.classroom = classroom;
this.number=number;
}
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 getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getClassroom() {
return classroom;
}
public void setClassroom(String classroom) {
this.classroom = classroom;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
重寫(xiě)toString方法是為了讓我們?cè)O(shè)置好的方式去顯示:
@Override
public String toString() {
return "名字:"+name+" |性別:"+sex+" |年齡:"+age+" |學(xué)號(hào):"+number+" |班級(jí):"+classroom+"\n";
}
}
在學(xué)生總部類(lèi)下:

main方法:
public static void main(String[] args) {
ArrayList<Student> arrayList=new ArrayList<Student>();
password();//密碼驗(yàn)證
while(true){
menu();//菜單
Scanner sc=new Scanner(System.in);
try{
int num=sc.nextInt();
switch(num){
case 1:{
addStudent(arrayList);break;
}
case 2:{
deleteStudent(arrayList);break;
}
case 3:{
reviseStudent(arrayList);break;
}
case 4:{
oneStudent(arrayList);break;
}
case 5:{
checkStudent(arrayList);break;
}
case 6:{
System.out.println("退出成功");
System.exit(0);
}
default:{
System.out.println("輸入錯(cuò)誤,輸入0-6之間的數(shù)字");break;
}
}}
catch(Exception e){
e.printStackTrace();
System.out.println("你的輸入是非數(shù)字,請(qǐng)輸入0-6的數(shù)字");
}
}
}//main方法
登錄密碼驗(yàn)證:
public static void password(){
System.out.println("***歡迎來(lái)到學(xué)生管理系統(tǒng)***");
Scanner sc=new Scanner(System.in);
System.out.print("請(qǐng)輸入管理員密碼:");
String s="鍵盤(pán)敲爛";
int sum=3;
while(true){
String ss=sc.nextLine();
if(ss.equals(s)){
System.out.println("驗(yàn)證成功!");break;
}else{sum--;
System.out.print("密碼錯(cuò)誤,你還有"+sum+"次機(jī)會(huì):");
}
if(sum==0){
System.out.println("輸入上限,再見(jiàn)!");
System.exit(0);
}
}}//密碼驗(yàn)證
打印菜單:
public static void menu(){
System.out.println("-------歡迎來(lái)到學(xué)生管理系統(tǒng)-------");
System.out.println("1.增加學(xué)生");
System.out.println("2.刪除學(xué)生");
System.out.println("3.修改學(xué)生");
System.out.println("4.查找學(xué)生");
System.out.println("5.查看所有學(xué)生");
System.out.println("6.退出");
System.out.println("請(qǐng)選擇:");
}//打印菜單頁(yè)
增加學(xué)生信息:
public static void addStudent(ArrayList<Student> arrayList){
Scanner sc1=new Scanner(System.in);
System.out.print("請(qǐng)輸入姓名:");
String name=sc1.nextLine();
System.out.print("請(qǐng)輸入年齡:");
String age=sc1.nextLine();
System.out.print("請(qǐng)輸入性別:");
String sex=sc1.nextLine();
System.out.print("請(qǐng)輸入學(xué)號(hào):");
String number=sc1.nextLine();
System.out.print("請(qǐng)輸入班級(jí):");
String classroom=sc1.nextLine();
Student stu=new Student();
stu.setAge(age);
stu.setClassroom(classroom);
stu.setName(name);
stu.setSex(sex);
stu.setNumber(number);
int kong=0;//用來(lái)定義是否已經(jīng)存在的學(xué)號(hào)
for (int i=0;i<arrayList.size();i++){
Student s=arrayList.get(i);
if((arrayList.size())>1&&(s.getNumber().equals(number))&&(s.getClassroom().equals(classroom))){
System.out.println("添加失敗,你輸入的學(xué)號(hào)在同一班級(jí)已存在");kong++;//存在就加一
arrayList.remove(stu);
}
}
if(name.length()==0||age.length()==0||sex.length()==0||classroom.length()==0||number.length()==0||kong!=0){
System.out.println("有某項(xiàng)為空或?qū)W號(hào)在同一班已存在,添加失敗");
arrayList.remove(stu);//移除該項(xiàng)
} else{
arrayList.add(stu);
System.out.println("添加成功");}
}//加信息
查看學(xué)生信息:
public static void checkStudent(ArrayList<Student> array){
if(array.isEmpty()){
System.out.println("這里沒(méi)有任何信息,請(qǐng)?zhí)砑雍蟛榭矗?);
}else{
System.out.println(array);}
}//查信息
刪除學(xué)生信息:
public static void deleteStudent(ArrayList<Student> array){
if(array.isEmpty()){
System.out.println("這里沒(méi)有任何信息,請(qǐng)?zhí)砑雍笤谶M(jìn)行操作!");
}else{
Scanner sc=new Scanner(System.in);
System.out.println("請(qǐng)輸入你要?jiǎng)h除信息的名字");
String str=sc.nextLine();
int sum=0;
for(int i=0;i<array.size();i++){
Student s = array.get(i);
if(s.getName().equals(str)){
array.remove(i);sum++;
System.out.println("刪除成功");
}
}if(sum==0){
System.out.println("沒(méi)有該信息,刪除失??!");
}
}
}//刪信息
修改學(xué)生信息:
public static void reviseStudent(ArrayList<Student> arrayList){
if(arrayList.isEmpty()){
System.out.println("沒(méi)有任何信息,請(qǐng)輸入后在進(jìn)行操作!");
}else {
int sum=0;
Scanner sc = new Scanner(System.in);
System.out.println("請(qǐng)輸入你要換信息的名字");
String name=sc.nextLine();
for(int i=0;i<arrayList.size();i++){
Student s1=arrayList.get(i);
if(s1.getName().equals(name)){
sum++;
}
}
if(sum!=0){
Scanner sc1=new Scanner(System.in);
System.out.print("請(qǐng)輸入姓名:");
String name1=sc1.nextLine();
System.out.print("請(qǐng)輸入年齡:");
String age=sc1.nextLine();
System.out.print("請(qǐng)輸入性別:");
String sex=sc1.nextLine();
System.out.print("請(qǐng)輸入學(xué)號(hào):");
String number=sc1.nextLine();
System.out.print("請(qǐng)輸入班級(jí):");
String classroom=sc1.nextLine();
Student stu=new Student();
stu.setAge(age);
stu.setClassroom(classroom);
stu.setName(name1);
stu.setSex(sex);
stu.setNumber(number);
for (int i = 0; i < arrayList.size(); i++) {
Student stu1 = arrayList.get(i);
if (stu1.getName().equals(name)) {
arrayList.set(i, stu);
System.out.println("修改成功");break;
}
}}if(sum==0){
System.out.println("修改失敗,沒(méi)有找到對(duì)應(yīng)的名字");
}
} }//改信息
查找學(xué)生信息:
public static void oneStudent(ArrayList<Student> arrayList){
if (arrayList.isEmpty()){
System.out.println("沒(méi)有學(xué)生信息,請(qǐng)?zhí)砑雍笤俨檎?);
}else{
Scanner sc=new Scanner(System.in);
System.out.print("請(qǐng)輸入你要查找學(xué)生的名字:");
String name=sc.nextLine();
int sum=0;
for(int i=0;i<arrayList.size();i++){
Student stu=arrayList.get(i);
if(stu.getName().equals(name)){sum++;
System.out.println("姓名:"+stu.getName()+" 年齡:"+stu.getAge()+" 性
別:"+stu.getSex()+" 班級(jí):"+stu.getClassroom()+" 學(xué)號(hào):"+stu.getNumber());
}
}if(sum==0){
System.out.println("你查找的學(xué)生不存在");
}
}
}//找信息
代碼效果演示圖:

到此這篇關(guān)于Java 實(shí)現(xiàn)完整功能的學(xué)生管理系統(tǒng)實(shí)例的文章就介紹到這了,更多相關(guān)Java 學(xué)生管理系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java實(shí)現(xiàn)學(xué)生管理系統(tǒng)(控制臺(tái)版本)
- Java版學(xué)生管理系統(tǒng)
- Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之學(xué)生管理系統(tǒng)的實(shí)現(xiàn)
- java控制臺(tái)實(shí)現(xiàn)學(xué)生管理系統(tǒng)
- Java實(shí)現(xiàn)學(xué)生管理系統(tǒng)(IO版)
- JavaSwing實(shí)現(xiàn)小型學(xué)生管理系統(tǒng)
- java實(shí)現(xiàn)簡(jiǎn)單的學(xué)生管理系統(tǒng)
- Java實(shí)現(xiàn)學(xué)生管理系統(tǒng)詳解
- Java實(shí)現(xiàn)學(xué)生管理系統(tǒng)詳解流程
相關(guān)文章
Java 數(shù)據(jù)庫(kù)連接池 Tomcat介紹
這篇文章主要給大家分享了 Java 數(shù)據(jù)庫(kù)連接池 Tomcat介紹,omcat 是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪(fǎng)問(wèn)用戶(hù)不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)試JSP 程序的首選。下面來(lái)看看文章內(nèi)容的詳細(xì)介紹吧2021-11-11
SpringBoot集成Redis—使用RedisRepositories詳解
這篇文章主要介紹了SpringBoot集成Redis—使用RedisRepositories詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
最常用的1000個(gè)Java類(lèi)(附代碼示例)
這篇文章主要介紹了最常用的1000個(gè)Java類(lèi)(附代碼示例),需要的朋友可以參考下2015-04-04
mybatis?@InsertProvider報(bào)錯(cuò)問(wèn)題及解決
這篇文章主要介紹了mybatis?@InsertProvider報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
springAOP完整實(shí)現(xiàn)過(guò)程
當(dāng)你調(diào)用SimpleService類(lèi)的doSomething方法時(shí),上述的PerformanceAspect會(huì)自動(dòng)攔截此調(diào)用,并且記錄該方法的執(zhí)行時(shí)間,這樣你就完成了一個(gè)針對(duì)Spring的AOP入門(mén)級(jí)案例,感興趣的朋友一起看看吧2024-02-02
java獲取和設(shè)置系統(tǒng)變量問(wèn)題(環(huán)境變量)
這篇文章主要介紹了java獲取和設(shè)置系統(tǒng)變量問(wèn)題(環(huán)境變量),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01

