欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java 實現(xiàn)完整功能的學(xué)生管理系統(tǒng)實例

 更新時間:2021年11月04日 09:28:36   作者:執(zhí)久呀  
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java實現(xiàn)一個完整版學(xué)生管理系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平

一、前言

我們前面寫了通訊錄管理系統(tǒng),現(xiàn)在我們來寫個學(xué)生管理系統(tǒng),

其實主干代碼都一 不過,在學(xué)生管理系統(tǒng)中我添加和優(yōu)化了許多功能,

如【登錄密碼驗證,異常處理,非空判斷,,防止重復(fù)添加】等。

二、學(xué)生管理系統(tǒng)主要功能

  • 增加學(xué)生信息
  • 刪除學(xué)生信息
  • 修改學(xué)生信息
  • 查找學(xué)生信息
  • 查看所有學(xué)生信息
  • 退出學(xué)生管理系統(tǒng)

主干總覽圖:

我們分成了許多的方法模塊,便于調(diào)用。

在學(xué)生類下

就是普通的構(gòu)造方法和get和set方法,還有一個重寫的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;
    }
 
 

重寫toString方法是為了讓我們設(shè)置好的方式去顯示:

    @Override
    public String toString() {
 
        return "名字:"+name+" |性別:"+sex+" |年齡:"+age+"  |學(xué)號:"+number+"  |班級:"+classroom+"\n";
    }
}

在學(xué)生總部類下:

main方法:

public static void main(String[] args) {
        ArrayList<Student> arrayList=new ArrayList<Student>();
        password();//密碼驗證
        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("輸入錯誤,輸入0-6之間的數(shù)字");break;
                    }
                }}
            catch(Exception e){
                e.printStackTrace();
                System.out.println("你的輸入是非數(shù)字,請輸入0-6的數(shù)字");
            }
        }
    }//main方法

登錄密碼驗證:

  public static void password(){
        System.out.println("***歡迎來到學(xué)生管理系統(tǒng)***");
        Scanner sc=new Scanner(System.in);
        System.out.print("請輸入管理員密碼:");
        String s="鍵盤敲爛";
       int  sum=3;
       while(true){
        String ss=sc.nextLine();
        if(ss.equals(s)){
            System.out.println("驗證成功!");break;
        }else{sum--;
            System.out.print("密碼錯誤,你還有"+sum+"次機(jī)會:");
        }
        if(sum==0){
            System.out.println("輸入上限,再見!");
            System.exit(0);
        }
    }}//密碼驗證

打印菜單:

  public static void menu(){
        System.out.println("-------歡迎來到學(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("請選擇:");
    }//打印菜單頁

增加學(xué)生信息:

 public static void addStudent(ArrayList<Student> arrayList){
        Scanner sc1=new Scanner(System.in);
        System.out.print("請輸入姓名:");
        String name=sc1.nextLine();
        System.out.print("請輸入年齡:");
        String age=sc1.nextLine();
        System.out.print("請輸入性別:");
        String sex=sc1.nextLine();
        System.out.print("請輸入學(xué)號:");
        String number=sc1.nextLine();
        System.out.print("請輸入班級:");
        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;//用來定義是否已經(jīng)存在的學(xué)號
        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é)號在同一班級已存在");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("有某項為空或?qū)W號在同一班已存在,添加失敗");
                arrayList.remove(stu);//移除該項
            } else{
                arrayList.add(stu);
                System.out.println("添加成功");}
    }//加信息

查看學(xué)生信息:

 public static void checkStudent(ArrayList<Student> array){
 
        if(array.isEmpty()){
            System.out.println("這里沒有任何信息,請?zhí)砑雍蟛榭矗?);
        }else{
            System.out.println(array);}
    }//查信息

刪除學(xué)生信息:

 public static void deleteStudent(ArrayList<Student> array){
        if(array.isEmpty()){
            System.out.println("這里沒有任何信息,請?zhí)砑雍笤谶M(jìn)行操作!");
        }else{
            Scanner sc=new Scanner(System.in);
            System.out.println("請輸入你要刪除信息的名字");
            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("沒有該信息,刪除失敗!");
            }
        }
    }//刪信息

修改學(xué)生信息:

  public static void reviseStudent(ArrayList<Student> arrayList){
        if(arrayList.isEmpty()){
            System.out.println("沒有任何信息,請輸入后在進(jìn)行操作!");
        }else {
            int sum=0;
            Scanner sc = new Scanner(System.in);
            System.out.println("請輸入你要換信息的名字");
            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("請輸入姓名:");
               String name1=sc1.nextLine();
               System.out.print("請輸入年齡:");
               String age=sc1.nextLine();
               System.out.print("請輸入性別:");
               String sex=sc1.nextLine();
               System.out.print("請輸入學(xué)號:");
               String number=sc1.nextLine();
               System.out.print("請輸入班級:");
               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("修改失敗,沒有找到對應(yīng)的名字");
            }
        } }//改信息

查找學(xué)生信息:

 public static void oneStudent(ArrayList<Student> arrayList){
        if (arrayList.isEmpty()){
            System.out.println("沒有學(xué)生信息,請?zhí)砑雍笤俨檎?);
        }else{
            Scanner sc=new Scanner(System.in);
            System.out.print("請輸入你要查找學(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()+"  班級:"+stu.getClassroom()+"  學(xué)號:"+stu.getNumber());
                }
            }if(sum==0){
                System.out.println("你查找的學(xué)生不存在");
            }
        }
    }//找信息

代碼效果演示圖:

到此這篇關(guān)于Java 實現(xiàn)完整功能的學(xué)生管理系統(tǒng)實例的文章就介紹到這了,更多相關(guān)Java 學(xué)生管理系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot實現(xiàn)自定義線程池的方法

    SpringBoot實現(xiàn)自定義線程池的方法

    這篇文章主要介紹了SpringBoot中的自定義線程池解析,實現(xiàn)自定義線程池重寫spring默認(rèn)線程池的方式使用的時候,只需要加@Async注解就可以,不用去聲明線程池類,需要的朋友可以參考下
    2023-11-11
  • IDEA必備開發(fā)神器之EasyCode

    IDEA必備開發(fā)神器之EasyCode

    對于java程序員來說,日常工作中就是crud的操作,每次都要搭建MVC三層,還是很繁瑣,這里就出現(xiàn)了神器easycode的工具.可以快速生成代碼.并且還可以自定義模板.需要的朋友可以參考下
    2021-05-05
  • Java JSch遠(yuǎn)程執(zhí)行Shell命令的方法

    Java JSch遠(yuǎn)程執(zhí)行Shell命令的方法

    本文主要介紹了Java JSch遠(yuǎn)程執(zhí)行Shell命令,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • springboot開發(fā)flowable定時任務(wù)問題

    springboot開發(fā)flowable定時任務(wù)問題

    這篇文章主要介紹了springboot開發(fā)flowable定時任務(wù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 一文帶你搞懂Java中Object類和抽象類

    一文帶你搞懂Java中Object類和抽象類

    這篇文章主要為大家詳細(xì)介紹了Java中Object類和抽象類的定義與使用,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Java有一定幫助,需要的可以參考一下
    2022-08-08
  • Java實現(xiàn)解析JSON大文件JsonReader工具詳解

    Java實現(xiàn)解析JSON大文件JsonReader工具詳解

    這篇文章主要介紹了Java實現(xiàn)解析JSON大文件的工具JsonReader使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-01-01
  • 解決mybatis用Map返回的字段全變大寫的問題

    解決mybatis用Map返回的字段全變大寫的問題

    這篇文章主要介紹了解決mybatis用Map返回的字段全變大寫的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • MyBatis攔截器動態(tài)替換表名的方法詳解

    MyBatis攔截器動態(tài)替換表名的方法詳解

    因為我們持久層框架更多地使用MyBatis,那我們就借助于MyBatis的攔截器來完成我們的功能,這篇文章主要給大家介紹了關(guān)于MyBatis攔截器動態(tài)替換表名的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • SpringCloud Feign如何在遠(yuǎn)程調(diào)用中傳輸文件

    SpringCloud Feign如何在遠(yuǎn)程調(diào)用中傳輸文件

    這篇文章主要介紹了SpringCloud Feign如何在遠(yuǎn)程調(diào)用中傳輸文件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • MyBatis的SQL執(zhí)行結(jié)果和客戶端執(zhí)行結(jié)果不一致問題排查

    MyBatis的SQL執(zhí)行結(jié)果和客戶端執(zhí)行結(jié)果不一致問題排查

    本文主要介紹了MyBatis的SQL執(zhí)行結(jié)果和客戶端執(zhí)行結(jié)果不一致問題排查,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04

最新評論