首頁 > 軟體

java控制檯實現學生資訊管理系統

2022-02-25 10:01:18

簡介

最近學了java基礎後對以前不會寫的作業深有感觸,想起以前各種在網上找資料找別人的程式碼參考,所以今天特地寫了了簡單的基於控制檯的學生資訊管理系統供還在學基礎的同學參考,寫的有問題的地方也希望能指出來,好了,下面開始進入正題。

環境

我使用的是idea編譯器和1.8的jdk版本,有使用1.7以下jdk版本的同學執行會報錯,解決方法是把ArrayLis<Student> arrayList=new Array<>();改成  ArrayLis<Student> arrayList=new Array<Student>(),下面開始講解學生資訊管理系統的實現過程。

系統分析

學生資訊管理系統主要是實現讓老師登入賬號(賬號和密碼我設定的都是“123”,你們也可以改成其他的字串)後可以對學生進行增刪改查的操作和檢視所有學生的資訊,所以我各自定義了一個方法來實現它的功能。

程式碼實現

首先定義一個學生類Student.java,關於toString是重寫了父類別也就是Object的方法,是用於方便檢視結果的,學生的屬性可以按需求新增多個,這裡我為了方便只寫了四個。

public class Student {
    //學號
    private int  sno;
    //姓名
    private String  name;
    //性別
    private String xes;
    //年齡
    private int age;
//建立get/set方法
    public int getSno() {
        return sno;
    }
 
    public void setSno(int sno) {
        this.sno = sno;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getXes() {
        return xes;
    }
 
    public void setXes(String xes) {
        this.xes = xes;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
//重寫toString方法方便列印
    @Override
    public String toString() {
        return "Student{" +
                "sno=" + sno +
                ", name='" + name + ''' +
                ", xes='" + xes + ''' +
                ", age=" + age +
                '}';
    }
}

然後定義一個結構類Structure.java,把需要實現的功能方法寫出來。

import java.util.ArrayList;
import java.util.Scanner;
 
/**
 * 老師進行登入操作後(老師的賬號密碼固定為123)
 * 才能對學生進行增刪改查
 */
public class Structure {
    //用來給學生學號賦值自增
    static int i=1;
    //建立ArrayList集合物件用來存放學生物件
    ArrayList<Student> arrayList=new ArrayList<>();
    Scanner scanner=new Scanner(System.in);
    public void enter(){
        System.out.print("請輸入使用者名稱:");
        if (scanner.next().equals("123")){
            System.out.print("請輸入密碼:");
            if (scanner.next().equals("123")){
                System.out.println("登入成功!");
            }else{
                System.out.println("密碼錯誤!請重新登入");
                enter();
            }
        }else {
            System.out.println("使用者名稱錯誤!請重新登入");
            enter();
        }
    }
    //增加學生資訊
    public void add(){
        //建立學生物件
        Student student=new Student();
        //System.out.print("學生ID自增");
        student.setSno(i);
        System.out.print("學生姓名:");
        student.setName(scanner.next());
        System.out.print("性別:");
        student.setXes(scanner.next());
        System.out.print("年齡:");
        student.setAge(scanner.nextInt());
        //把學生物件存入集合中
        arrayList.add(student);
        i++;
    }
    //檢視所有學生資訊
    public void print(){
        if (arrayList.size()==0){
            System.out.println("沒有學生!!!");
        }else {
            //使用增強for迴圈遍歷集合
            for (Student student:arrayList){
                System.out.println(student.toString());
            }
        }
    }
    //通過學號查詢指定的學生資訊
    public void inquiry(){
        if (arrayList.size()==0){
            System.out.println("沒有學生!!!");
        }else {
            System.out.print("請輸入想要查詢的學生的學號:");
            for (Student student:arrayList){
                if (student.getSno()==scanner.nextInt()){
                    System.out.println(student.toString());
                }
            }
        }
    }
    //刪除指定學生的資訊
    public void delete(){
        if (arrayList.size()==0){
            System.out.println("沒有學生!!!");
        }else {
            System.out.print("請輸入想要刪除的學生的學號:");
            for (int i=0;i<=arrayList.size();i++){
                if (arrayList.get(i).getSno()==scanner.nextInt()){
                    arrayList.remove(i);
                    System.out.println("刪除成功!");
                }
            }
        }
    }
    //修改指定學生的資訊
    public void revisesp(){
        if (arrayList.size()==0){
            System.out.println("沒有學生!!!");
        }else {
            System.out.print("請輸入想要修改的學生的學號:");
            for (Student student:arrayList){
                if (student.getSno()==scanner.nextInt()){
                    revisesp01(student);
                    System.out.println("修改成功!");
                }
            }
        }
    }
    public void revisesp01(Student student) {
        System.out.println("請根據序號選擇指令");
        System.out.println("1.修改姓名");
        System.out.println("2.修改性別");
        System.out.println("2.修改年齡");
        switch (scanner.nextInt()){
            case 1:
                student.setName(scanner.next());
                break;
            case 2:
                student.setXes(scanner.next());
                break;
            case 3:
                student.setAge(scanner.nextInt());
                break;
        }
    }
}

最後建立一個測試類Test.java用來測試功能的實現

import java.util.Scanner;
 
public class Test {
    Structure structure=new Structure();
    static Scanner scanner=new Scanner(System.in);
    public static void main(String[] args) {
        Test test=new Test();
        test.a();
    }
    public void a(){
        System.out.println("老師登入(賬號密碼固定123/123)");
        structure.enter();
        while (true){
            print();
            switch (scanner.nextInt()){
                case 1:
                    structure.add();
                    break;
                case 2:
                    structure.print();
                    break;
                case 3:
                    structure.inquiry();
                    break;
                case 4:
                    structure.delete();
                    break;
                case 5:
                    structure.revisesp();
                    break;
                case 0:
                    return;
                default:
                    System.out.println("請輸入正確的指令!");
            }
 
        }
    }
 
    public void print(){
        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("0.退出");
    }
}

最後我們就順利的完成了一個簡單的學生管理系統,能獨立完成這個對我們鞏固基礎知識是能起到一定的幫助的。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com