Java實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(借助Array?List)
本文實(shí)例為大家分享了vue + element ui實(shí)現(xiàn)錨點(diǎn)定位的具體代碼,供大家參考,具體內(nèi)容如下
需求: 制作一個(gè)簡單的學(xué)生信息管理系統(tǒng)
1、通過鍵盤選擇操作進(jìn)行添加學(xué)生(學(xué)號,姓名,性別,年齡,成績)的信息,這些信息通過數(shù)組存儲。
2、同時(shí)還可以進(jìn)行:
(1)查詢某個(gè)或全體學(xué)生信息;
(2)修改學(xué)生信息;
(3)刪除學(xué)生信息的操作。
要求:有一定的優(yōu)化,例如對用戶輸入信息是否符合要求的處理。
1.首先對學(xué)生的 學(xué)號,姓名,性別,年齡,成績這五個(gè)信息進(jìn)行定義,為了不讓所有人都能訪問到,所以權(quán)限都定義為private,通過getter、setter方法進(jìn)行訪問:
/**
?*?
?* 設(shè)置學(xué)生信息
?*?
?* @author Incentancy
?*
?*/
public class Student {
?? ?private String stuName;? ??
?? ?private String stuNo;? ??
?? ?private String gender;? ??
?? ?private int age;? ??
?? ?private int score;
?
?? ?public String getStuName() {
?? ??? ?return stuName;
?? ?}
?
?? ?public void setStuName(String stuName) {
?? ??? ?this.stuName = stuName;
?? ?}
?
?? ?public String getStuNo() {
?? ??? ?return stuNo;
?? ?}
?
?? ?public void setStuNo(String stuNo) {
?? ??? ?this.stuNo = stuNo;
?? ?}
?
?? ?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 getScore() {
?? ??? ?return score;
?? ?}
?
?? ?public void setScore(int score) {
?? ??? ?this.score = score;
?? ?}
?? ?
}2.然后在一個(gè)新類中添加對學(xué)生信息的增刪改查操作,并且要求能對用戶輸入的數(shù)據(jù)進(jìn)行初步的判斷:
import java.util.ArrayList;
import java.util.Scanner;
?
import com.xt.eleventhHW.stu.Student;
?
public class StuData {? ?
?? ??? ?private ArrayList? ??
? ? ? stus = new ArrayList
? ? ?
? ? ? ();
?? ??? ?
?? ??? ?//static int index = 0;? ? ? ??
?? ??? ?Scanner scanner = new Scanner(System.in);
? ? ? ???
?? ??? ?/**
?? ??? ? * 增加學(xué)生信息
?? ??? ? * @param stu
?? ??? ? */
?? ??? ?public void addStu(Student stu){?? ??? ?
?? ??? ??? ?stus.add(stu);
?? ??? ?}
?? ??? ?
?? ??? ?//輸入學(xué)生信息
?? ??? ?public void append(){
?? ??? ??? ??Student stu = new Student();
?? ??? ??? ?
?? ??? ??? ?/**
?? ??? ??? ? * 通過封裝方法,將學(xué)生信息賦給stus
?? ??? ??? ? */
?? ??? ??? ?stu.setStuName(name());? ? ? ? ? ??
?? ??? ??? ?stu.setStuNo(stuNum());? ? ? ? ? ??
?? ??? ??? ?stu.setGender(gender());? ? ? ? ? ??
?? ??? ??? ?stu.setAge(age());? ? ? ? ? ??
? ? ? ? ? ? stu.setScore(score());? ? ? ? ? ??
?? ??? ??? ?//將stu中的信息增添到stus中
?? ??? ??? ?addStu(stu);
?? ??? ??? ?
?? ??? ??? ?System.out.println("學(xué)生信息已添加!");
?? ??? ??? ?System.out.println();
?? ??? ?}
?? ??? ?
?? ??? ?
?? ??? ?//得到學(xué)生姓名
?? ??? ?public String name(){? ? ? ? ? ??
?? ??? ??? ?String name;? ? ? ? ? ??
?? ??? ??? ?System.out.println("請輸入學(xué)生的姓名:");
?? ??? ??? ?name = scanner.next();? ? ? ? ? ??
?? ??? ??? ?return name;
?? ??? ?}
?? ??? ?
?? ??? ?
?? ??? ?//得到學(xué)生學(xué)號
?? ??? ?public String stuNum(){
?? ??? ??? ?
?? ??? ??? ?String stuNum;
?? ??? ??? ?
?? ??? ??? ?System.out.println("請輸入學(xué)生的學(xué)號:");
?? ??? ??? ?stuNum = scanner.next();? ? ? ? ? ?
?? ??? ??? ?
?? ??? ??? ?//如果學(xué)號不為11位,則重新輸入,直到學(xué)號正確
?? ??? ??? ?if(stuNum.length() != 11){
?? ??? ??? ??? ?System.out.println("您輸入的學(xué)號有誤!請重新輸入!");
?? ??? ??? ??? ?stuNum();?? ?
?? ??? ??? ?}
?? ??? ??? ??? ??? ?
?? ??? ??? ?//如果學(xué)號已存在,則重新輸入,直到不存在
?? ??? ??? ?for(int i = 0; i < stus.size(); i++){
?? ??? ??? ??? ?if(stuNum.equals(stus.get(i).getStuNo())){
?? ??? ??? ??? ??? ?System.out.println("該學(xué)號已存在!請重新輸入!");
?? ??? ??? ??? ??? ?stuNum();
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ??? ?return stuNum;
?? ??? ?}
?? ??? ?
?? ??? ?//得到學(xué)生的性別
?? ??? ?public String gender(){
?? ??? ??? ?
?? ??? ??? ?String stuGender;
?? ??? ??? ?
?? ??? ??? ?System.out.println("請輸入學(xué)生的性別:");
?? ??? ??? ?stuGender = scanner.next();
?? ??? ??? ?
?? ??? ??? ?if(!stuGender.equals("男") && !stuGender.equals("女") ){
?? ??? ??? ??? ?System.out.println("您輸入的學(xué)生性別有誤!請重新輸入!");
?? ??? ??? ??? ?gender();
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ??? ?return stuGender;
?? ??? ?}
?? ??? ?
?? ??? ?//得到學(xué)生的年齡
?? ??? ?public int age(){
?? ??? ??? ?
?? ??? ??? ?int stuAge;
?? ??? ??? ?
?? ??? ??? ?System.out.println("請輸入學(xué)生的年齡:");
?? ??? ??? ?stuAge = scanner.nextInt();
?? ??? ??? ?
?? ??? ??? ?if(stuAge < 0 || stuAge >= ?80){
?? ??? ??? ??? ?System.out.println("您輸入的年齡有誤!請重新輸入!");
?? ??? ??? ??? ?age();
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ??? ?return stuAge;
?? ??? ?}
?? ??? ?
?? ??? ?//得到學(xué)生的成績
?? ??? ?public int score(){
?? ??? ??? ?int stuScore;
?? ??? ??? ?
?? ??? ??? ?System.out.println("請輸入學(xué)生的成績:");
?? ??? ??? ?stuScore = scanner.nextInt();
?? ??? ??? ?
?? ??? ??? ?if(stuScore < 0 || stuScore > 100){
?? ??? ??? ??? ?System.out.println("您輸入的成績有誤!請重新輸入!");
?? ??? ??? ??? ?score();
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ??? ?return stuScore;
?? ??? ?}
?? ??? ?
?? ??? ?
?? ??? ?/**
?? ??? ? *?
?? ??? ? * 刪除學(xué)生信息
?? ??? ? *?
?? ??? ? * @param stuNo
?? ??? ? */
?? ??? ?public void delStu(){
?? ??? ??? ?
?? ??? ??? ?System.out.println("請輸入您想刪除的學(xué)號:");
?? ??? ??? ?String stuNo = scanner.next();
?? ??? ??? ?
?? ??? ??? ?boolean isDel = false;
?? ??? ??? ?
?? ??? ??? ?for(int i = 0; i < stus.size(); i++){
?? ??? ??? ??? ?if(stuNo.equals(stus.get(i).getStuNo())){
?? ??? ??? ??? ??? ?isDel = true;
?? ??? ??? ??? ??? ?stus.remove(i);
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ??? ?if(isDel){
?? ??? ??? ??? ?System.out.println("刪除操作已完成!");
?? ??? ??? ?}else{
?? ??? ??? ??? ?System.out.println("無此學(xué)生信息!");
?? ??? ??? ?}
?? ??? ?}
?? ??? ?
?? ??? ?
?? ??? ?/**
?? ??? ? * 修改學(xué)生信息:
?? ??? ? * 1.姓名
?? ??? ? * 2.學(xué)號
?? ??? ? * 3.性別
?? ??? ? * 4.年齡
?? ??? ? * 5.成績
?? ??? ? * @param stu
?? ??? ? */
?? ??? ?public void updateStu(String stuNo){
?? ??? ??? ?
?? ??? ??? ?boolean flag = false;
?? ??? ??? ?
?? ??? ??? ?for(int i = 0; i < stus.size(); i ++){
?? ??? ??? ??? ?if(stuNo.equals(stus.get(i).getStuNo())){
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?flag = true;
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?information();
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?switch(scanner.nextInt()){
?? ??? ??? ??? ??? ??? ?case 1:
?? ??? ??? ??? ??? ??? ??? ?String name = name();
?? ??? ??? ??? ??? ??? ??? ?stus.get(i).setStuName(name);;
?? ??? ??? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ??? ??? ?case 2:
?? ??? ??? ??? ??? ??? ??? ?String stuNum = stuNum();
?? ??? ??? ??? ??? ??? ??? ?stus.get(i).setStuNo(stuNum);
?? ??? ??? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ??? ??? ?case 3:
?? ??? ??? ??? ??? ??? ??? ?String gender = gender();
?? ??? ??? ??? ??? ??? ??? ?stus.get(i).setGender(gender);
?? ??? ??? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ??? ??? ?case 4:
?? ??? ??? ??? ??? ??? ??? ?int age = age();
?? ??? ??? ??? ??? ??? ??? ?stus.get(i).setAge(age);
?? ??? ??? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ??? ??? ?case 5:
?? ??? ??? ??? ??? ??? ??? ?int score = score();
?? ??? ??? ??? ??? ??? ??? ?stus.get(i).setScore(score);
?? ??? ??? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ??? ??? ?case 0:
?? ??? ??? ??? ??? ??? ??? ?System.exit(0);
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?
?? ??? ??? ??? ?if(!flag)
?? ??? ??? ??? ??? ?System.out.println("您輸入的學(xué)號不存在!");
?? ??? ??? ?}
?? ??? ?}
?? ??? ?
?? ??? ?public void information(){
?? ??? ??? ?System.out.println("請選擇您要修改的信息:");
?? ??? ??? ?System.out.println("1.姓名");
?? ??? ??? ?System.out.println("2.學(xué)號");
?? ??? ??? ?System.out.println("3.性別");
?? ??? ??? ?System.out.println("4.年齡");
?? ??? ??? ?System.out.println("5.成績");
?? ??? ??? ?System.out.println("0.退出");
?? ??? ??? ?System.out.println("請輸入序號:");
?? ??? ?}
?? ??? ?/**
?? ??? ? * 根據(jù)學(xué)號查詢學(xué)生信息
?? ??? ? * 如果存在,輸出學(xué)生信息
?? ??? ? * @param stuNo
?? ??? ? */
?? ??? ?public void queryStuByStuNo(String stuNo){
?? ??? ??? ?
?? ??? ??? ?boolean flag = false;
?? ??? ??? ?
?? ??? ??? ?for(int i = 0; i < stus.size(); i ++){
?? ??? ??? ??? ?if(stuNo.equals(stus.get(i).getStuNo())){
?? ??? ??? ??? ??? ?System.out.println("姓名:" + stus.get(i).getStuName());
?? ??? ??? ??? ??? ?System.out.println("學(xué)號:" + stus.get(i).getStuNo());
?? ??? ??? ??? ??? ?System.out.println("性別:" + stus.get(i).getGender());
?? ??? ??? ??? ??? ?System.out.println("年齡:" + stus.get(i).getAge());
?? ??? ??? ??? ??? ?System.out.println("成績:" + stus.get(i).getScore());
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?System.out.println("+---------------+-------------------------------+---------------+---------------+---------------+");
?? ??? ??? ??? ??? ?System.out.println("|\t姓名\t|\t\t學(xué)號\t\t|\t性別\t|\t年齡\t|\t成績\t|");
?? ??? ??? ??? ??? ?System.out.println("+---------------+-------------------------------+---------------+---------------+---------------+");
?? ??? ??? ??? ??? ?System.out.println("|\t" + stus.get(i).getStuName() + "\t|\t ? ?" + stus.get(i).getStuNo() + " ? ? \t|\t" + stus.get(i).getGender() +?
?? ??? ??? ??? ??? ??? ??? ?"\t|\t" ?+ stus.get(i).getAge() + "\t|\t" + stus.get(i).getScore() + "\t|");
?? ??? ??? ??? ??? ?System.out.println("+---------------+-------------------------------+---------------+---------------+---------------+");
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?flag = true;
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ??? ?if(!flag)
?? ??? ??? ??? ?System.out.println("該學(xué)號不存在!");
?? ??? ?}
}3.再新建一個(gè)類,將這個(gè)類作為操作菜單,通過用戶輸入的數(shù)字調(diào)用之前的增刪改查操作:
import java.util.Scanner;
?
public class SystemService {
?? ?
?? ?Scanner scanner = new Scanner(System.in);
?? ?
?? ?
?? ?public void bulletin(){
?? ??? ?System.out.println("1.添加學(xué)生信息");
?? ??? ?System.out.println("2.刪除學(xué)生信息");
?? ??? ?System.out.println("3.修改學(xué)生信息");
?? ??? ?System.out.println("4.查詢學(xué)生信息");
?? ??? ?System.out.println("0.退出系統(tǒng)");
?? ??? ?
?? ??? ?System.out.println("請輸入序號:");
?? ?}
?? ?
?? ?public void serviceChoose(){
?? ??? ?
?? ??? ?StuData sd = new StuData();
?? ??? ?
?? ??? ?System.out.println("-----歡迎使用學(xué)生信息管理系統(tǒng)-----");
?? ??? ?
?? ??? ?while(true){
?? ??? ??? ?
?? ??? ??? ?bulletin();
?? ??? ??? ?
?? ??? ??? ?switch(scanner.nextInt()){
?? ??? ??? ??? ?
?? ??? ??? ??? ?case 1:
?? ??? ??? ??? ??? ?sd.append();
?? ??? ??? ??? ??? ?System.out.println();
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?case 2:
?? ??? ??? ??? ??? ?sd.delStu();
?? ??? ??? ??? ??? ?System.out.println();
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?case 3:
?? ??? ??? ??? ??? ?System.out.println("請輸入要修改的學(xué)生的學(xué)號:");
?? ??? ??? ??? ??? ?sd.updateStu(scanner.next());
?? ??? ??? ??? ??? ?System.out.println();
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?case 4:
?? ??? ??? ??? ??? ?System.out.println("請輸入要查詢的學(xué)生的學(xué)號:");
?? ??? ??? ??? ??? ?sd.queryStuByStuNo(scanner.next());
?? ??? ??? ??? ??? ?System.out.println();
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?case 0:
?? ??? ??? ??? ??? ?System.exit(0);//退出系統(tǒng)
?? ??? ??? ?}
?? ??? ?}
?? ?}
}4.最后寫上主方法,就可以進(jìn)行使用
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java實(shí)現(xiàn)學(xué)生管理系統(tǒng)(IO版)
- java實(shí)現(xiàn)簡單學(xué)生成績管理系統(tǒng)
- JavaSwing實(shí)現(xiàn)小型學(xué)生管理系統(tǒng)
- java實(shí)現(xiàn)簡單的學(xué)生管理系統(tǒng)
- Java實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(使用數(shù)據(jù)庫)
- Java+Mysql學(xué)生管理系統(tǒng)源碼
- javaWeb實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
- java實(shí)現(xiàn)學(xué)生教師管理系統(tǒng)
- Java基于MySQL實(shí)現(xiàn)學(xué)生管理系統(tǒng)
- Java實(shí)現(xiàn)簡單的學(xué)生教師管理系統(tǒng)
相關(guān)文章
Java中Word與PDF轉(zhuǎn)換為圖片的方法詳解
這篇文章主要為大家詳細(xì)介紹了如何使用Java實(shí)現(xiàn)將Word與PDF轉(zhuǎn)換為圖片,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-10-10
Eclipse轉(zhuǎn)Itellij IDEA導(dǎo)入Git/svn本地項(xiàng)目的詳細(xì)步驟
這篇文章主要介紹了Eclipse轉(zhuǎn)Itellij IDEA導(dǎo)入Git/svn本地項(xiàng)目,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10
Java Web項(xiàng)目中編寫定時(shí)任務(wù)的實(shí)現(xiàn)
本篇文章主要介紹了Java Web項(xiàng)目中編寫定時(shí)任務(wù)的實(shí)現(xiàn),具有一定的參考價(jià)值,有興趣的可以了解一下。2017-01-01
Mybatis-plus新版本分頁失效PaginationInterceptor過時(shí)的問題
這篇文章主要介紹了Mybatis-plus新版本分頁失效,PaginationInterceptor過時(shí)問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
Java模擬死鎖發(fā)生之演繹哲學(xué)家進(jìn)餐問題案例詳解
這篇文章主要介紹了Java模擬死鎖發(fā)生之演繹哲學(xué)家進(jìn)餐問題,結(jié)合具體演繹哲學(xué)家進(jìn)餐問題的案例形式詳細(xì)分析了死鎖機(jī)制與原理,需要的朋友可以參考下2019-10-10
springSecurity自定義登錄接口和JWT認(rèn)證過濾器的流程
這篇文章主要介紹了springSecurity自定義登陸接口和JWT認(rèn)證過濾器的相關(guān)資料,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-12-12

