教你用java實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)(附詳細(xì)代碼)
1.需求
- 添加學(xué)生:通過(guò)鍵盤錄入學(xué)生信息,添加到集合中
- 刪除學(xué)生:通過(guò)鍵盤錄入需要?jiǎng)h除學(xué)生的學(xué)號(hào),將該學(xué)生對(duì)象從集合中刪除
- 修改學(xué)生:通過(guò)鍵盤錄入需要修改學(xué)的學(xué)號(hào),將該學(xué)生對(duì)象的其他信息進(jìn)行修改
- 查看學(xué)生:將集合中的學(xué)生對(duì)象信息進(jìn)行展示
- 退出系統(tǒng):結(jié)束程序
2.代碼實(shí)現(xiàn)
Student類 代碼如下:
package StudentManger;
/*
學(xué)生信息:姓名,地址
*/
public class Student {
String name;
String address;
int ChineseGrade;
int MathGrade;
int EnglishGrade;
int sum;
double averGrade;
public int getSum() {
return sum;
}
public void setSum(int sum) {
this.sum = sum;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getChineseGrade() {
return ChineseGrade;
}
public void setChineseGrade(int chineseGrade) {
ChineseGrade = chineseGrade;
}
public int getMathGrade() {
return MathGrade;
}
public void setMathGrade(int mathGrade) {
MathGrade = mathGrade;
}
public int getEnglishGrade() {
return EnglishGrade;
}
public void setEnglishGrade(int englishGrade) {
EnglishGrade = englishGrade;
}
public double getAverGrade() {
return averGrade;
}
public void setAverGrade(double averGrade) {
this.averGrade = averGrade;
}
}主類中的代碼如下:
package StudentManger;
import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;
public class Demo {
public static void main(String[] args) {
//創(chuàng)建hashmap集合
HashMap<Integer,Student> hashMap = new HashMap<>();
Scanner sc = new Scanner(System.in);
//創(chuàng)建開始頁(yè)面
while (true)
{
printview();
System.out.println("請(qǐng)輸入您要實(shí)現(xiàn)的的功能:");
int data = sc.nextInt();
switch (data)
{
case 1 : setStudent(hashMap);break;
case 2 : delete(hashMap);break;
case 3 : Change(hashMap);break;
case 4 :print01(hashMap);break;
case 5 :print02(hashMap);break;
case 6 : System.out.println("歡迎下次使用!");System.exit(1);
}
}
}
public static void printview()
{
System.out.println("----歡迎來(lái)到學(xué)生管理系統(tǒng)!-----");
System.out.println("----請(qǐng)選擇以下對(duì)應(yīng)的功能-------");
System.out.println("-------1.添加學(xué)生信息---------");
System.out.println("-------2.刪除學(xué)生信息---------");
System.out.println("-------3.修改學(xué)生信息---------");
System.out.println("-------4.通過(guò)學(xué)號(hào)查看單個(gè)學(xué)生信息(通過(guò)key顯示)---------");
System.out.println("-------5.查看所有學(xué)生信息------");
System.out.println("-------6.退出管理系統(tǒng)---------");
}
//添加學(xué)生信息
public static void setStudent(HashMap<Integer,Student> hs)
{
Scanner sc = new Scanner(System.in);
Student s = new Student();
System.out.println("請(qǐng)輸入學(xué)生的地址:");
String address =sc.nextLine();
s.setAddress(address);
System.out.println("請(qǐng)輸入學(xué)生的姓名:");
String name = sc.nextLine();
s.setName(name);
System.out.println("請(qǐng)輸入學(xué)生的學(xué)號(hào):");
Integer number = sc.nextInt();
System.out.println("請(qǐng)輸入學(xué)生的語(yǔ)文成績(jī):");
Integer yuwen = sc.nextInt();
s.setChineseGrade(yuwen);
System.out.println("請(qǐng)輸入學(xué)生的數(shù)學(xué)成績(jī):");
Integer shuxue = sc.nextInt();
s.setMathGrade(shuxue);
System.out.println("請(qǐng)輸入學(xué)生的英語(yǔ)成績(jī):");
Integer yingyu = sc.nextInt();
s.setEnglishGrade(yingyu);
//計(jì)算平均成績(jī)和總體成績(jī)
int sum = shuxue + yuwen+yingyu;
double aver = sum/3;
s.setSum(sum);
s.setAverGrade(aver);
//將學(xué)生信息存儲(chǔ)到hashmap中
hs.put(number,s);
System.out.println("添加成功!");
}
//刪除學(xué)生信息
public static void delete(HashMap<Integer,Student> hs)
{
Scanner sc = new Scanner(System.in);
System.out.println("請(qǐng)輸入您要?jiǎng)h除學(xué)生的學(xué)號(hào):");
Integer number = sc.nextInt();
if(hs.get(number)!=null)
{
hs.remove(number);
System.out.println("刪除成功!");
}
else
{
System.out.println("此學(xué)生不存在!");
}
}
//顯示單個(gè)學(xué)生信息
public static void print01(HashMap<Integer,Student> hs)
{
Scanner sc = new Scanner(System.in);
System.out.println("請(qǐng)輸入您要查詢的學(xué)生的學(xué)號(hào):");
Integer number = sc.nextInt();
if (hs.get(number)!=null)
{
Student s = hs.get(number);
System.out.println("查詢成功!");
System.out.println("學(xué)號(hào):"+number+" 姓名:"+s.getName()+" 地址:"+s.getAddress()+" 語(yǔ)文成績(jī):"+s.getChineseGrade()+" 數(shù)學(xué)成績(jī):"+s.getMathGrade()+" 英語(yǔ)成績(jī):"+s.getEnglishGrade()+s.getAddress()+" 成績(jī)總和:"+s.getSum()+" 平均成績(jī):"+s.getAverGrade());
}
else
{
System.out.println("該學(xué)生不存在!");
}
}
//顯示所有學(xué)生信息
public static void print02(HashMap<Integer,Student> hs)
{
System.out.println("所有學(xué)生信息如下:");
Set<Integer> set = hs.keySet();
for (Integer i :set)
{
Student s = hs.get(i);
System.out.println("學(xué)號(hào):"+i+" 姓名:"+s.getName()+" 地址:"+s.getAddress()+" 語(yǔ)文成績(jī):"+s.getChineseGrade()+" 數(shù)學(xué)成績(jī):"+s.getMathGrade()+" 英語(yǔ)成績(jī):"+s.getEnglishGrade()+" 成績(jī)總和:"+s.getSum()+" 平均成績(jī):"+s.getAverGrade());
}
}
//修改學(xué)生信息
public static void Change(HashMap<Integer,Student> hs)
{
Scanner sc = new Scanner(System.in);
System.out.println("請(qǐng)輸入你要修改的學(xué)生學(xué)號(hào):");
int number = sc.nextInt();
if (hs.get(number)!=null)
{
Scanner sc1 = new Scanner(System.in);
Student s = hs.get(number);
System.out.println("請(qǐng)輸入您要修改的學(xué)生的具體信息:(姓名,地址,語(yǔ)文成績(jī),數(shù)學(xué)成績(jī)。英語(yǔ)成績(jī))");
String data = sc1.nextLine();
if (data.equals("姓名"))
{
System.out.println("請(qǐng)輸入您要修改的姓名:");
String name = sc1.nextLine();
s.setName(name);
System.out.println("修改完成!");
}
else if (data.equals("地址"))
{
System.out.println("請(qǐng)輸入您要修改的地址:");
String address = sc1.nextLine();
s.setAddress(address);
System.out.println("修改完成!");
}
else if (data.equals("語(yǔ)文成績(jī)"))
{
System.out.println("請(qǐng)輸入您要修改的語(yǔ)文成績(jī):");
int ytuwen = sc1.nextInt();
s.setChineseGrade(ytuwen);
System.out.println("修改完成!");
}
else if (data.equals("數(shù)學(xué)成績(jī)"))
{
System.out.println("請(qǐng)輸入您要修改的數(shù)學(xué)成績(jī):");
int shuXue = sc1.nextInt();
s.setChineseGrade(shuXue);
System.out.println("修改完成!");
}
else if (data.equals("英語(yǔ)成績(jī)"))
{
System.out.println("請(qǐng)輸入您要修改的英語(yǔ)成績(jī):");
int yingyu = sc1.nextInt();
s.setChineseGrade(yingyu);
System.out.println("修改完成!");
}
}
else
{
System.out.println("該學(xué)生不存在!");
}
}
}部分測(cè)試如下:
----歡迎來(lái)到學(xué)生管理系統(tǒng)!-----
----請(qǐng)選擇以下對(duì)應(yīng)的功能-------
-------1.添加學(xué)生信息---------
-------2.刪除學(xué)生信息---------
-------3.修改學(xué)生信息---------
-------4.通過(guò)學(xué)號(hào)查看單個(gè)學(xué)生信息(通過(guò)key顯示)---------
-------5.查看所有學(xué)生信息------
-------6.退出管理系統(tǒng)---------
請(qǐng)輸入您要實(shí)現(xiàn)的的功能:
1
請(qǐng)輸入學(xué)生的地址:
桂林電子科技大學(xué)
請(qǐng)輸入學(xué)生的姓名:
Ken
請(qǐng)輸入學(xué)生的學(xué)號(hào):
01
請(qǐng)輸入學(xué)生的語(yǔ)文成績(jī):
130
請(qǐng)輸入學(xué)生的數(shù)學(xué)成績(jī):
150
請(qǐng)輸入學(xué)生的英語(yǔ)成績(jī):
140
添加成功!
----歡迎來(lái)到學(xué)生管理系統(tǒng)!-----
----請(qǐng)選擇以下對(duì)應(yīng)的功能-------
-------1.添加學(xué)生信息---------
-------2.刪除學(xué)生信息---------
-------3.修改學(xué)生信息---------
-------4.通過(guò)學(xué)號(hào)查看單個(gè)學(xué)生信息(通過(guò)key顯示)---------
-------5.查看所有學(xué)生信息------
-------6.退出管理系統(tǒng)---------
請(qǐng)輸入您要實(shí)現(xiàn)的的功能:
5
所有學(xué)生信息如下:
學(xué)號(hào):1 姓名:Ken 地址:桂林電子科技大學(xué) 語(yǔ)文成績(jī):130 數(shù)學(xué)成績(jī):150 英語(yǔ)成績(jī):140 成績(jī)總和:420 平均成績(jī):140.0
----歡迎來(lái)到學(xué)生管理系統(tǒng)!-----
----請(qǐng)選擇以下對(duì)應(yīng)的功能-------
-------1.添加學(xué)生信息---------
-------2.刪除學(xué)生信息---------
-------3.修改學(xué)生信息---------
-------4.通過(guò)學(xué)號(hào)查看單個(gè)學(xué)生信息(通過(guò)key顯示)---------
-------5.查看所有學(xué)生信息------
-------6.退出管理系統(tǒng)---------
請(qǐng)輸入您要實(shí)現(xiàn)的的功能:
4
請(qǐng)輸入您要查詢的學(xué)生的學(xué)號(hào):
01
查詢成功!
學(xué)號(hào):1 姓名:Ken 地址:桂林電子科技大學(xué) 語(yǔ)文成績(jī):130 數(shù)學(xué)成績(jī):150 英語(yǔ)成績(jī):140桂林電子科技大學(xué) 成績(jī)總和:420 平均成績(jī):140.0
----歡迎來(lái)到學(xué)生管理系統(tǒng)!-----
----請(qǐng)選擇以下對(duì)應(yīng)的功能-------
-------1.添加學(xué)生信息---------
-------2.刪除學(xué)生信息---------
-------3.修改學(xué)生信息---------
-------4.通過(guò)學(xué)號(hào)查看單個(gè)學(xué)生信息(通過(guò)key顯示)---------
-------5.查看所有學(xué)生信息------
-------6.退出管理系統(tǒng)---------
請(qǐng)輸入您要實(shí)現(xiàn)的的功能:
6
歡迎下次使用!
總結(jié)
到此這篇關(guān)于用java實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)的文章就介紹到這了,更多相關(guān)java學(xué)生成績(jī)管理系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談Java finally語(yǔ)句到底是在return之前還是之后執(zhí)行(必看篇)
下面小編就為大家?guī)?lái)一篇淺談Java finally語(yǔ)句到底是在return之前還是之后執(zhí)行(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06
Springboot項(xiàng)目引入druid安裝部署使用教程
這篇文章主要介紹了Springboot項(xiàng)目引入druid安裝部署使用,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01
SpringBoot使用 druid 連接池來(lái)優(yōu)化分頁(yè)語(yǔ)句
這篇文章主要介紹了SpringBoot使用 druid 連接池來(lái)優(yōu)化分頁(yè)語(yǔ)句,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
idea自帶database連接mysql失敗問(wèn)題的解決辦法
在IDEA?帶的數(shù)據(jù)庫(kù)連接?具中,可以連接MySQL數(shù)據(jù)庫(kù),但是有的時(shí)候連接出現(xiàn)錯(cuò)誤,連接不上數(shù)據(jù)庫(kù),下面這篇文章主要給大家介紹了關(guān)于idea自帶database連接mysql失敗問(wèn)題的解決辦法,需要的朋友可以參考下2023-06-06
Java靜態(tài)方法和實(shí)例方法區(qū)別詳解
這篇文章主要為大家詳細(xì)介紹了Java靜態(tài)方法和實(shí)例方法的區(qū)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12
鑒權(quán)認(rèn)證+aop+注解+過(guò)濾feign請(qǐng)求的實(shí)例
這篇文章主要介紹了鑒權(quán)認(rèn)證+aop+注解+過(guò)濾feign請(qǐng)求的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
詳解springmvc之json數(shù)據(jù)交互controller方法返回值為簡(jiǎn)單類型
這篇文章主要介紹了springmvc之json數(shù)據(jù)交互controller方法返回值為簡(jiǎn)單類型,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-05-05
Java導(dǎo)出多個(gè)excel表打包到zip文件中供客戶端另存為窗口下載實(shí)現(xiàn)方法
最近的項(xiàng)目有一個(gè)導(dǎo)出匯總數(shù)據(jù)的要求,考慮到用戶軟件的差異,所以要分別導(dǎo)出xls以及xlsx并且打包提供下載,下面這篇文章主要給大家介紹了關(guān)于Java導(dǎo)出多個(gè)excel表打包到zip文件中供客戶端另存為窗口下載的實(shí)現(xiàn)方法,需要的朋友可以參考下2023-12-12

