java實(shí)現(xiàn)簡(jiǎn)單的學(xué)生管理系統(tǒng)
用Java如何實(shí)現(xiàn)一個(gè)用數(shù)組作為存儲(chǔ)結(jié)構(gòu)的簡(jiǎn)易的學(xué)生管理系統(tǒng)?
首先,我們定義一個(gè)student類,在其中添加私有化的成員變量,通過(guò)getter和setter方法進(jìn)行調(diào)用
public class Students { ? ? // 學(xué)號(hào),姓名,性別,年齡,成績(jī) ? ? private String stuNo = " "; ? ? private String stuName = " "; ? ? private String gender = " "; ? ? private int age; ? ? private int num; ? ? public String getStuNo() { ? ? ? ? return stuNo; ? ? } ? ? public void setStuNo(String stuNo) { ? ? ? ? this.stuNo = stuNo; ? ? } ? ? public String getStuName() { ? ? ? ? return stuName; ? ? } ? ? public void setStuName(String stuName) { ? ? ? ? this.stuName = stuName; ? ? } ? ? public String getGender() { ? ? ? ? return gender; ? ? } ? ? public void setGender(String gender) { ? ? ? ? this.gender = gender; ? ? } ? ? public int getAge() { ? ? ? ? return age; ? ? } ? ? public void setAge(int age) { ? ? ? ? this.age = age; ? ? } ? ? public int getNum() { ? ? ? ? return num; ? ? } ? ? public void setNum(int num) { ? ? ? ? this.num = num; ? ? } ? ? public String toString() { ? ? ? ? return "[" + stuNo + "\t|" + stuName + "\t|" + gender + "\t|" + age + "\t|" + num + "]"; ? ? } }
隨后,我們新建一個(gè)類,直接在main方法中寫學(xué)生管理系統(tǒng).學(xué)生信息管理系統(tǒng)一般要具有增刪改查四個(gè)功能,我們可以分別用方法進(jìn)行實(shí)現(xiàn),然后在主菜單switch中進(jìn)行調(diào)用。
package com.baidu.HomeWork.Stusys; import java.util.Scanner; public class Main { ? ? static int num = 0; ? ? static boolean tag = true; ? ? static boolean tag_1 = true; ? ? static Students[] stu = new Students[100]; ? ? static Scanner scan = new Scanner(System.in); ? ? public static void main(String[] args) { ? ? ? ? while (tag) { // 主菜單 ? ? ? ? ? ? System.out.println("1.增加學(xué)生數(shù)據(jù)"); ? ? ? ? ? ? System.out.println("2.刪除學(xué)生數(shù)據(jù)"); ? ? ? ? ? ? System.out.println("3.修改學(xué)生數(shù)據(jù)"); ? ? ? ? ? ? System.out.println("4.查詢學(xué)生數(shù)據(jù)"); ? ? ? ? ? ? System.out.println("5.退出學(xué)生管理系統(tǒng)"); ? ? ? ? ? ? int scan_num = scan.nextInt(); ? ? ? ? ? ? switch (scan_num) { // 主菜單選擇 ? ? ? ? ? ? case 1: ? ? ? ? ? ? ? ? add(); ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? case 2: ? ? ? ? ? ? ? ? delete(); ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? case 3: ? ? ? ? ? ? ? ? gai(); ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? case 4: ? ? ? ? ? ? ? ? cha(); ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? case 5: ? ? ? ? ? ? ? ? tag = false; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? default: ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? } ? ? } ? ? static void add() { // 增加學(xué)生信息 ? ? ? ? while (tag_1) { ? ? ? ? ? ? stu[num] = new Students(); ? ? ? ? ? ? System.out.println("請(qǐng)依次輸入學(xué)號(hào),姓名,性別,年齡,成績(jī)"); ? ? ? ? ? ? stu[num].setStuNo(scan.next()); ? ? ? ? ? ? stu[num].setStuName(scan.next()); ? ? ? ? ? ? stu[num].setGender(scan.next()); ? ? ? ? ? ? stu[num].setAge(scan.nextInt()); ? ? ? ? ? ? stu[num].setNum(scan.nextInt()); ? ? ? ? ? ? num++; ? ? ? ? ? ? System.out.println("繼續(xù)輸入請(qǐng)輸入true,否則輸入false"); ? ? ? ? ? ? tag_1 = scan.nextBoolean(); ? ? ? ? } ? ? ? ? paixu(); ? ? ? ? cha(); ? ? } ? ? static void paixu() { // 對(duì)學(xué)生信息進(jìn)行排序,該方法菜單中不可選擇,但會(huì)在其他方法中調(diào)用 ? ? ? ? int l = num - 1; ? ? ? ? int temp; ? ? ? ? for (int j = 0; j < l; j++) { ? ? ? ? ? ? for (int i = 0; i < l - j; i++) { ? ? ? ? ? ? ? ? // 依次比較相鄰的兩個(gè)元素,使較大的那個(gè)向后移 ? ? ? ? ? ? ? ? if (stu[i].getNum() > stu[i + 1].getNum()) { ? ? ? ? ? ? ? ? ? ? temp = stu[i].getNum(); ? ? ? ? ? ? ? ? ? ? stu[i].setNum(stu[i + 1].getNum()); ? ? ? ? ? ? ? ? ? ? stu[i + 1].setNum(temp); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? } ? ? } ? ? static boolean kai = false; ? ? static void delete() { // 刪除學(xué)生信息 ? ? ? ? System.out.println("請(qǐng)輸入你要?jiǎng)h除的學(xué)號(hào)"); ? ? ? ? String xuehao = scan.next(); ? ? ? ? int i; ? ? ? ? for (i = 0; i < num; i++) { ? ? ? ? ? ? if (xuehao.equals(stu[i].getStuNo())) { ? ? ? ? ? ? ? ? kai = true; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? if (kai) { ? ? ? ? ? ? for (; i < num; i++) { ? ? ? ? ? ? ? ? stu[i].setStuNo(stu[i + 1].getStuNo()); ? ? ? ? ? ? ? ? stu[i].setStuName(stu[i + 1].getStuName()); ? ? ? ? ? ? ? ? stu[i].setGender(stu[i + 1].getGender()); ? ? ? ? ? ? ? ? stu[i].setAge(stu[i + 1].getAge()); ? ? ? ? ? ? ? ? stu[i].setNum(stu[i + 1].getNum()); ? ? ? ? ? ? } ? ? ? ? } else { ? ? ? ? ? ? System.out.println("查無(wú)此人"); ? ? ? ? } ? ? ? ? num--; ? ? } ? ? static boolean gai = false; ? ? static void gai() { ? ? ? ? ? ? ? ? ? // 修改學(xué)生信息 ? ? ? ? System.out.println("請(qǐng)輸入你要修改的學(xué)號(hào)"); ? ? ? ? String xuehao = scan.next(); ? ? ? ? int i; ? ? ? ? for (i = 0; i < num; i++) { ? ? ? ? ? ? if (xuehao.equals(stu[i].getStuNo())) { ? ? ? ? ? ? ? ? gai = true; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? if (gai) { ? ? ? ? ? ? System.out.println("請(qǐng)依次輸入信息"); ? ? ? ? ? ? stu[i].setStuNo(scan.next()); ? ? ? ? ? ? stu[i].setStuName(scan.next()); ? ? ? ? ? ? stu[i].setGender(scan.next()); ? ? ? ? ? ? stu[i].setAge(scan.nextInt()); ? ? ? ? ? ? stu[i].setNum(scan.nextInt()); ? ? ? ? } else { ? ? ? ? ? ? System.out.println("查無(wú)此人"); ? ? ? ? } ? ? ? ? paixu(); ? ? ? ? cha(); ? ? } ? ? static void cha() { ? ? ? ? ? ? ? ? ?// 遍歷學(xué)生信息并打印,取代了逐一查找學(xué)生信息 ? ? ? ? System.out.println("[學(xué)號(hào)\t|姓名 \t|性別 \t|年齡\t|成績(jī)]"); ? ? ? ? for (int i = 0; i < num; i++) { ? ? ? ? ? ? System.out.println(stu[i]); ? ? ? ? } ? ? } }
這樣一個(gè)簡(jiǎn)單的用數(shù)組實(shí)現(xiàn)的學(xué)生系信息管理系統(tǒng)就做好了,還可以向其中添加其他的方法豐富這個(gè)系統(tǒng)或者為這個(gè)系統(tǒng)做一個(gè)界面。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 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)完整功能的學(xué)生管理系統(tǒng)實(shí)例
- Java實(shí)現(xiàn)學(xué)生管理系統(tǒng)詳解
- Java實(shí)現(xiàn)學(xué)生管理系統(tǒng)詳解流程
相關(guān)文章
java文件如何統(tǒng)計(jì)字母出現(xiàn)的次數(shù)和百分比
這篇文章主要介紹了java文件如何統(tǒng)計(jì)字母出現(xiàn)的次數(shù)和百分比,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11Java中調(diào)用SQL Server存儲(chǔ)過(guò)程詳解
這篇文章主要介紹了Java中調(diào)用SQL Server存儲(chǔ)過(guò)程詳解,本文講解了使用不帶參數(shù)的存儲(chǔ)過(guò)程、使用帶有輸入?yún)?shù)的存儲(chǔ)過(guò)程、使用帶有輸出參數(shù)的存儲(chǔ)過(guò)程、使用帶有返回狀態(tài)的存儲(chǔ)過(guò)程、使用帶有更新計(jì)數(shù)的存儲(chǔ)過(guò)程等操作實(shí)例,需要的朋友可以參考下2015-01-01Spring之關(guān)于PropertyDescriptor的擴(kuò)展剖析
這篇文章主要介紹了Spring之關(guān)于PropertyDescriptor的擴(kuò)展剖析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07Java 信號(hào)量Semaphore的實(shí)現(xiàn)
這篇文章主要介紹了Java 信號(hào)量Semaphore的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09@scope("prototype") @loadbalanced注解負(fù)載均衡失效問(wèn)題
這篇文章主要為大家介紹了@scope("prototype") @loadbalanced注解負(fù)載均衡失效問(wèn)題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02