java基于控制臺的學生學籍管理系統(tǒng)
本文實例為大家分享了java實現(xiàn)學生學籍管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
關鍵技術:循環(huán),switch條件判斷,創(chuàng)建對象,ArrayList()動態(tài)數(shù)組或集合,private
系統(tǒng)功能:
1、添加學生 (學號,姓名,年齡,居住地)以學號為基準進行遍歷,如果學號已存在,則重新輸入
2、修改學生 同樣以學號為判斷依據(jù),輸入要修改的學生學號,依次重新輸入姓名,年齡,居住地,如果學號輸入錯誤,則提示重新輸入
3、刪除學生 以學號為基準進行判斷,學號不存在則進行提示;學號存在,則刪除改學號所包含的全部信息
4、查看全部學生信息,采用循環(huán)遍歷
5、退出程序 如果不選擇,則程序回到主頁面
創(chuàng)建學生類
package student_status_management_system; public class Student { ? ? private String student_number; ? ? private String name; ? ? private String age; ? ? private String address; ? ? public Student() { ? ? } ? ? public Student(String student_number, String name, String age, String address) { ? ? ? ? this.student_number = student_number; ? ? ? ? this.name = name; ? ? ? ? this.age = age; ? ? ? ? this.address = address; ? ? } ? ? public String getStudent_number() { ? ? ? ? return student_number; ? ? } ? ? public void setStudent_number(String student_number) { ? ? ? ? this.student_number = student_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 getAddress() { ? ? ? ? return address; ? ? } ? ? public void setAddress(String address) { ? ? ? ? this.address = address; ? ? } }
學生學號重復問題
public static boolean repetition(ArrayList<Student>array,String studentnumber){ ? ? ? ? boolean flag = false; ? ? ? ? for (int i = 0;i<array.size();i++){ ? ? ? ? ? ? Student s = array.get(i); ? ? ? ? ? ? if (s.getStudent_number().equals(studentnumber)){ ? ? ? ? ? ? ? ? flag = true; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? return flag; ? ? }
添加學生
public static void addStudent(ArrayList<Student> array) { ? ? ? ? String studentnumber; ? ? ? ? Scanner sc = new Scanner(System.in); ? ? ? ? while (true) { ? ? ? ? ? ? System.out.println("請輸入學生學號:"); ? ? ? ? ? ? ?studentnumber = sc.nextLine(); ? ? ? ? ? ? boolean flag = repetition(array, studentnumber); ? ? ? ? ? ? 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(); ? ? ? ? //創(chuàng)建學生對象,把鍵盤錄入的學生信息賦值給學生對象的成員變量 ? ? ? ? Student s = new Student(); ? ? ? ? s.setStudent_number(studentnumber); ? ? ? ? s.setName(name); ? ? ? ? s.setAge(age); ? ? ? ? s.setAddress(address); ? ? ? ? //將信息添加到集合 ? ? ? ? array.add(s); ? ? ? ? System.out.println("添加成功!"); ? ? }
修改學生信息
public static void updateStudent(ArrayList<Student> array) { ? ? ? ? int index = -1; ? ? ? ? Scanner sc = new Scanner(System.in); ? ? ? ? System.out.println("請輸入你要修改的學生的學號:"); ? ? ? ? String id = sc.nextLine(); ? ? ? ? for (int i = 0; i < array.size(); i++) { ? ? ? ? ? ? Student student = array.get(i); ? ? ? ? ? ? if (student.getStudent_number().equals(id)) { ? ? ? ? ? ? ? ? index = i; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? if (index == -1) { ? ? ? ? ? ? System.out.println("該學號不存在!"); ? ? ? ? } else { ? ? ? ? ? ? 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.setStudent_number(id); ? ? ? ? ? ? s.setName(name); ? ? ? ? ? ? s.setAge(age); ? ? ? ? ? ? s.setAddress(address); ? ? ? ? ? ? array.set(index, s); ? ? ? ? ? ? System.out.println("修改成功!"); ? ? ? ? } ? ? }
刪除學生
public static void deleteStudent(ArrayList<Student> array) { ? ? ? ? int index = -1; //定義索引 ? ? ? ? Scanner sc = new Scanner(System.in); ? ? ? ? System.out.println("請輸入你要刪除的學生的學號:"); ? ? ? ? String id = sc.nextLine(); ? ? ? ? for (int i = 0; i < array.size(); i++) { ? ? ? ? ? ? Student s = array.get(i); ? ? ? ? ? ? if (s.getStudent_number().equals(id)) { ? ? ? ? ? ? ? ? index = i; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? if (index == -1) { ? ? ? ? ? ? System.out.println("該學號不存在!"); ? ? ? ? } else { ? ? ? ? ? ? array.remove(index); ? ? ? ? ? ? System.out.println("刪除成功!"); ? ? ? ? } ? ? }
查看所有學生
public static void findAllStudent(ArrayList<Student> array) { ? ? ? ? //顯示表頭 ? ? ? ? if (array.size() == 0) { ? ? ? ? ? ? System.out.println("你還沒有輸入信息!"); ? ? ? ? ? ? return;//阻止程序往下執(zhí)行 ? ? ? ? } ? ? ? ? System.out.println("學號\t\t\t\t姓名\t\t年齡\t\t\t居住地"); ? ? ? ? for (int i = 0; i < array.size(); i++) { ? ? ? ? ? ? Student s = array.get(i); ? ? ? ? ? ? System.out.println(s.getStudent_number() + "\t\t" + s.getName() + "\t\t" + s.getAge() + "歲" + "\t\t" + s.getAddress()); ? ? ? ? } ? ? }
main方法
public static void main(String[] args) { ? ? ? ? //創(chuàng)建集合,儲存學生信息 ? ? ? ? ArrayList<Student> array = new ArrayList<>(); ? ? ? ? while (true) { ? ? ? ? ? ? System.out.println("——————歡迎來到學生學籍管理系統(tǒng)——————"); ? ? ? ? ? ? System.out.println("1 添加學生"); ? ? ? ? ? ? System.out.println("2 修改學生"); ? ? ? ? ? ? System.out.println("3 刪除學生"); ? ? ? ? ? ? System.out.println("4 查看所有學生"); ? ? ? ? ? ? System.out.println("5 退出系統(tǒng)"); ? ? ? ? ? ? //主界面 ? ? ? ? ? ? Scanner sc = new Scanner(System.in); ? ? ? ? ? ? System.out.println("請輸入你要進行的操作(數(shù)字序號):"); ? ? ? ? ? ? String line = sc.nextLine(); ? ? ? ? ? ? switch (line) { ? ? ? ? ? ? ? ? case "1": ? ? ? ? ? ? ? ? ? ? addStudent(array); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case "2": ? ? ? ? ? ? ? ? ? ? updateStudent(array); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case "3": ? ? ? ? ? ? ? ? ? ? deleteStudent(array); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case "4": ? ? ? ? ? ? ? ? ? ? findAllStudent(array); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case "5": ? ? ? ? ? ? ? ? ? ? System.out.println("再見!"); ? ? ? ? ? ? ? ? ? ? System.exit(0);//JVM退出 ? ? ? ? ? ? } ? ? ? ? } ? ? }
效果演示
添加學生
修改學生
刪除學生
退出程序
沒有添加學生信息時查看學生
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
maven利用tomcat插件部署遠程Linux服務器的步驟詳解
Maven已經(jīng)是Java的項目管理常用方式,下面這篇文章主要給大家介紹了關于maven利用tomcat插件部署遠程Linux服務器的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。2017-11-11spring中bean id相同引發(fā)故障的分析與解決
最近在工作中遇到了關于bean id相同引發(fā)故障的問題,通過查找相關資料終于解決了,下面這篇文章主要給大家介紹了因為spring中bean id相同引發(fā)故障的分析與解決方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-09-09Java多線程實現(xiàn)TCP網(wǎng)絡Socket編程(C/S通信)
這篇文章主要介紹了Java多線程實現(xiàn)TCP網(wǎng)絡Socket編程(C/S通信),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10解決IntelliJ?IDEA輸出中文顯示為問號問題的有效方法
最近剛學到文件字節(jié)流這里,但輸出中文時,出現(xiàn)了控制臺輸出問號的情況,所以下面這篇文章主要給大家介紹了關于如何解決IntelliJ?IDEA輸出中文顯示為問號問題的有效方法,需要的朋友可以參考下2022-07-07