學生管理系統Java版

簡單的學生管理系統

主界面編寫:
1.用輸出語句完成主界面的編寫
2.用Scanner語句實現鍵盤的錄入
3.用swich語句完成操作的選擇
4.用循環完成再次回到主界面
代碼實現:

while (true) {//1.用輸出語句完成主界面的編寫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.print("請輸入你的選擇:");//2.用Scanner語句實現鍵盤的錄入Scanner sc = new Scanner(System.in);String num = sc.nextLine();//3.用swich語句完成操作的選擇switch (num) {case "1"://System.out.println("添加學生");addStudent(array);break;case "2"://System.out.println("刪除學生");deletestudent(array);break;case "3"://System.out.println("修改學生");updatestudent(array);break;case "4"://System.out.println("查看所有學生");findAllstudent(array);break;case "5":System.out.println("感謝使用學生管理系統");return;//System.exit(0); JVM退出//把while循環改為while(flag),在while循環前置flag=true,//在case5 這里讓flag=false}

實現效果:在這里插入圖片描述
一、添加學生
1.定義一個方法,用于添加學生信息
2.鍵盤錄入學生對象所需要的數據,顯示提示信息,提示輸入何種信息
3.創建學生對象,把鍵盤錄入的數據賦值給學生對象的成員變量
4.將學生對象添加到集合中
5.給出提示信息"添加學生成功"
注意:在添加學生前先定義一個方法用于判斷學生是否存在
代碼實現:

//定義一個方法,判斷添加的學生學號是否存在
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 addStudent(ArrayList<student> array) {Scanner sc = new Scanner(System.in);//為了讓sid在while循環外被訪問到,把它定義在循環外String sid;//為了讓程序能夠回到這里,我們使用循環實現while (true) {System.out.println("請輸入學生學號:");//  String sid = sc.nextLine();//上面定義了sid,這里不用Stringsid = 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("添加學生成功");}

二、查看學生
(用鍵盤錄入選擇查看所有學生信息)
1.定義一個方法,用于查看學生信息。
2.判斷集合中是否有數據,如果沒有顯示提示信息。
3.顯示表頭信息。
4.將集合中數據取出按照格式顯示學生信息,年齡顯示補充“歲”。
5.調用方法
注意:在查看學生前也要判斷學生是否存在。
代碼實現:

//定義一個方法,用于查看所有學生信息
public static void findAllstudent(ArrayList<student> array) {//判斷集合中是否有數據,如果沒有數據顯示提示信息if (array.size() == 0) {System.out.println("沒有學生信息,請添加學生信息后查詢");}//2.顯示表頭信息System.out.println("學號\t\t姓名\t年齡\t居住地");for (int i = 0; i < array.size(); i++) {student s = array.get(i);System.out.println(s.getSid() + "\t\t" + s.getName() + "\t" + s.getAge() + "歲\t" + s.getAddress());}
}

三、刪除學生
1.定義一個方法,用于刪除學生信息
2.鍵盤輸入要刪除學生的學號,顯示提示信息
3.遍歷集合將對應學生對象從集合中刪除
4.給出刪除成功提示信息
5.調用方法
注意:在刪除學生時也要判斷學生是否存在
代碼實現:

//定義一個方法,用于刪除學生信息
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("刪除學生成功");}
}

四、修改學生信息
1.鍵盤錄入要修改的學生學號,顯示提示信息
2.鍵盤錄入要修改的學生信息
3.創建學生對象
4.遍歷集合修改對應的學生信息
5.給出修改成功提示
6.調用方法
注意:在修改學生時也要判斷要修改的學生是否存在
代碼實現:

//定義一個方法,用于修改學生信息
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("修改學生成功");}}

最后附上完全代碼:

package StudentManager;import java.util.ArrayList;
import java.util.Scanner;/*學生管理系統主界面編寫:1.用輸出語句完成主界面的編寫2.用Scanner語句實現鍵盤的錄入3.用swich語句完成操作的選擇4.用循環完成再次回到主界面一、添加學生1.定義一個方法,用于添加學生信息2.鍵盤錄入學生對象所需要的數據,顯示提示信息,提示輸入何種信息3.創建學生對象,把鍵盤錄入的數據賦值給學生對象的成員變量4.將學生對象添加到集合中5.給出提示信息"添加學生成功"二、查看學生(用鍵盤錄入選擇查看所有學生信息)1.定義一個方法,用于查看學生信息2.判斷集合中是否有數據,如果沒有顯示提示信息3.顯示表頭信息4.將集合中數據取出按照格式顯示學生信息,年齡顯示補充“歲”5.調用方法三、刪除學生1.定義一個方法,用于刪除學生信息2.鍵盤輸入要刪除學生的學號,顯示提示信息3.遍歷集合將對應學生對象從集合中刪除4.給出刪除成功提示信息5.調用方法四、修改學生信息1.鍵盤錄入要修改的學生學號,顯示提示信息2.鍵盤錄入要修改的學生信息3.創建學生對象4.遍歷集合修改對應的學生信息5.給出修改成功提示6.調用方法五、解決刪除/修改學生學號不存在問題1.在刪除/修改學生操作錢,對學號是否存在進行判斷如果不存在,顯示提示信息如果存在,執行刪除/修改操作六、解決添加學生學號重復問題1.定義一個方法,對學號是否杯使用進行判斷如果與集合中的學生學號相同返回true如果不相同,返回false2.在添加學生錄入學號后調用該方法如果返回true,彈出提示,重新輸入學號如果返回false,正常添加學生對象*/public class MyStudentManagerment {//主界面操作public static void main(String[] args) {//創建集合對象,用于存儲學生數據ArrayList<student> array = new ArrayList<student>();//4.用循環完成再次回到主界面while (true) {//1.用輸出語句完成主界面的編寫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.print("請輸入你的選擇:");//2.用Scanner語句實現鍵盤的錄入Scanner sc = new Scanner(System.in);String num = sc.nextLine();//3.用swich語句完成操作的選擇switch (num) {case "1"://System.out.println("添加學生");addStudent(array);break;case "2"://System.out.println("刪除學生");deletestudent(array);break;case "3"://System.out.println("修改學生");updatestudent(array);break;case "4"://System.out.println("查看所有學生");findAllstudent(array);break;case "5":System.out.println("感謝使用學生管理系統");return;//System.exit(0); JVM退出//把while循環改為while(flag),在while循環前置flag=true,//在case5 這里讓flag=false}}}//定義一個方法,判斷添加的學生學號是否存在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 addStudent(ArrayList<student> array) {Scanner sc = new Scanner(System.in);//為了讓sid在while循環外被訪問到,把它定義在循環外String sid;//為了讓程序能夠回到這里,我們使用循環實現while (true) {System.out.println("請輸入學生學號:");//  String sid = sc.nextLine();//上面定義了sid,這里不用Stringsid = 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 void findAllstudent(ArrayList<student> array) {//判斷集合中是否有數據,如果沒有數據顯示提示信息if (array.size() == 0) {System.out.println("沒有學生信息,請添加學生信息后查詢");}//2.顯示表頭信息// \t(制表符) 其實就是tab鍵的位置System.out.println("學號\t\t姓名\t年齡\t居住地");//3.將集合中數據取出按照格式顯示學生信息,年齡顯示補充“歲”for (int i = 0; i < array.size(); i++) {student s = array.get(i);System.out.println(s.getSid() + "\t\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();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("修改學生成功");}}}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/450668.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/450668.shtml
英文地址,請注明出處:http://en.pswp.cn/news/450668.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

dubbo 配置文件詳解

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 一、dubbo常用配置 <dubbo:service/> 服務配置&#xff0c;用于暴露一個服務&#xff0c;定義服務的元信息&#xff0c;一個服務可…

ASP.NET Core 實戰:Linux 小白的 .NET Core 部署之路

一、前言 最近一段時間自己主要的學習計劃還是按照畢業后設定的計劃&#xff0c;自己一步步的搭建一個前后端分離的 ASP.NET Core 項目&#xff0c;目前也還在繼續學習 Vue 中&#xff0c;雖然中間斷了很長時間&#xff0c;好歹還是堅持下來了&#xff0c;嗯&#xff0c;看了看…

學以致用十三-----Centos7.2+python3+YouCompleteMe成功歷程

歷經幾天的摸索&#xff0c;趟過幾趟坑之后&#xff0c;終于完成YouCompleteMe的安裝配置。 今天同樣是個不能忘記的日子&#xff0c;國恥日&#xff0c;勿忘國恥。&#xff08;9.18&#xff09; 服務器安裝好&#xff0c;基本配置配置好后&#xff0c;開始安裝。 一、檢查服務…

VC畫圖用到的主要方法

1。鼠標落下&#xff0c;記錄鼠標的起始位置 void CMyEasyDrawView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: 在此添加消息處理程序代碼和/或調用默認值 //graph->m_nTypedlg-> m_bStartDraw true; m_PtPress m_PtLast point; CView::OnLButtonDown…

【最新版】Java學習路線(含B站口碑推薦視頻鏈接)

文章目錄關于如何自學一、計算機網絡二、數據結構與算法三、操作系統四、計算機組成原理五、編譯原理六、設計模式七、MySQL八、實操工具九、JAVA并發與JVM十、Redis十一、Linux十二、Java路線學習尚硅谷黑馬程序員動力節點狂神說十三、Java基礎十四、JavaWeb十五、框架十六、微…

記錄no static method cannot be reference

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 報錯如題&#xff1a; no static method cannot be reference 我一直以為是在靜態方法中調用了非靜態方法&#xff0c;實際上只是我在注…

文件存儲權限

Android 6.0及以上&#xff0c;需要動態申請權限&#xff1a; Manifest.permission.READ_EXTERNAL_STORAGE Manifest.permission.WRITE_EXTERNAL_STORAGE <uses-permission-sdk-23 android:name"android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permis…

從工具的奴隸到工具的主人

摘要&#xff1a;我們每個人都是工具的奴隸。隨著我們的學習&#xff0c;我們不斷的加深自己對工具的認識&#xff0c;從而從它們里面解脫出來。現在我就來說一下我作為各種工具的奴隸&#xff0c;以及逐漸擺脫它們的思想控制的歷史吧。 當我高中畢業進入大學計算機系的時候&am…

記錄A component required a bean named ‘studentService‘ that could not be found.

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 報錯如題&#xff1a; A component required a bean named studentService that could not be found. 出問題的代碼行&#xff1a; &l…

Java---利用程序實現在控制臺聊天

一.普通版&#xff08;不能實現隨意輸入&#xff09; 電腦A(服務器端) package day; import java.net.ServerSocket; import java.net.Socket; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner;public class Mysever {public static void…

16.看板方法——三類改進機會筆記

00.三種常見的模型和它們一些變種&#xff1a;約束理論及其主要理念&#xff1b;還有聚焦于分析和減少變異性的模型及其變種等。 01.五步聚焦法 *a.識別約束 *b.作出決定&#xff0c;以最大化利用約束 *c.使系統中的其余一切部分都服從于b中做出決定 *d.突破約束 *e.避免惰性&a…

C/C++的64位整型

在C/C中&#xff0c;64為整型一直是一種沒有確定規范的數據類型。現今主流的編譯器中&#xff0c;對64為整型的支持也是標準不一&#xff0c;形態各異。一般來說&#xff0c;64位整型的定義方式有long long和__int64兩種(VC還支持_int64)&#xff0c;而輸出到標準輸出方式有pri…

記錄 Duplicate spring bean id dubbo

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 啟動工程 報錯如題&#xff1a; Duplicate spring bean id dubbo &#xff0c;意思是id 重復。 原因是我在加載配置文件時加載了兩個…

1.KafKa-介紹

轉載于:https://www.cnblogs.com/v-lcc/p/9674975.html

關于日志的123

寫在前面&#xff1a; 關于日志其實有很多想說的&#xff0c;不過將自己整理的文檔轉化為Blog還是比較花時間的&#xff0c;偶有疏漏&#xff0c;請多包涵。 本篇文章所講均只止于Java。 日志的作用&#xff1a; 1.定位問題&#xff0c;對于一個系統而言&#xff0c;總是會有些…

研究顯示每天工作超8小時得心臟病概率增加80%,生命很重要,工作不要那個累。

每天工作超過8小時的人患心臟病的風險最高可增加80%(資料圖) 據英國《每日郵報》9月12日報道&#xff0c;芬蘭職業保健研究所的科學家們近日進行了一項研究&#xff0c;他們發現每天工作超過8小時的人患心臟病的風險最高可增加80%。 研究人員表示&#xff0c;長時間的工作是許多…

SVN介紹

1.SVN介紹SVN是一個跨平臺的開源的版本控制系統&#xff0c;svn版本管理工具管理著隨時間改變的各種數據&#xff0c;這些數據放置在一個中央檔案庫&#xff08;repository&#xff09;中&#xff0c;svn會備份并記錄每個文件每一次的修改、更新、變動。這樣可以把任意一個時間…

記錄 Annotation processing is not supported for module cycles.

報錯&#xff1a;Error:java: Annotation processing is not supported for module cycles. Please ensure that all modules from cycle [A,B] are excluded from annotation processing 我是想啟動兩個 maven工程&#xff0c;相互作為服務提供方和消費方&#xff0c;于是在p…

沉淀再出發:Spring的架構理解

沉淀再出發:Spring的架構理解 一、前言 在Spring之前使用的EJB框架太龐大和重量級了&#xff0c;開發成本很高&#xff0c;由此spring應運而生。關于Spring&#xff0c;學過java的人基本上都會慢慢接觸到&#xff0c;并且在面試的時候也是經常遇到的&#xff0c;因為這個技術極…

用Python進行機器學習所需環境的配置(轉)

源&#xff1a;用Python進行機器學習所需環境的配置