簡單的學生管理系統
阿新 • • 發佈:2019-01-22
學生儲存類
package com.hanmengqi.java11.stusys;
public class Student {
private String stuNo;
private String stuName;
private String gender;
private int age;
private int score;
private String city;
private String province;
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 getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
}
針對學生類的操作
package com.hanmengqi.java11.stusys;
public class StuData {
private static Student stus[] = new Student[20];
private static int dataIndex = 0;
/**
* 增加學生資訊
* @param stu
*/
public static void addStu(Student stu) {
if (dataIndex > stus.length) {
Student tempIndex[] = new Student[dataIndex];
for (int i = 0; i < stus.length; i++) {
tempIndex[i] = stus[i];
}
stus = tempIndex;
}
stus[dataIndex] = stu;
dataIndex++;
}
/**
* 修改學生資訊
* @param stu
* @return
*/
public static Student changeStu(Student stu) {
if(stu == null){
return null;
}
for (int i = 0; i < dataIndex; i++) {
if (stu.getStuNo().equals(stus[i].getStuNo())) {
return stu;
}
}
return null;
}
/**
* 刪除學生資訊
* @param stu
* @return
*/
public static void deleteStu(Student stu) {
boolean isMove = false;
for (int i = 0; i < dataIndex; i++) {
if (stu.getStuNo().equals(stus[i].getStuNo())) {
isMove = true;
}
if(isMove){
stus[i] = stus[i+1];
}
}
if(isMove){
System.out.println("刪除成功!");
}
dataIndex--;
}
/**
* 由學生學號遍歷查詢得到學生資訊,不存在則返回null
* @param stuNo
* @return
*/
public static Student stuNoToStu(String stuNo) {
for (int i = 0; i < dataIndex; i++) {
if (stuNo.equals(stus[i].getStuNo())) {
return stus[i];
}
}
System.out.println("沒有此學生!!");
return null;
}
/**
* 查詢學生
* @param stu
*/
public static void printOne(Student stu){
System.out.print("姓名:"+stu.getStuName()+" ");
System.out.print("學號:"+stu.getStuNo()+" ");
System.out.print("年齡:"+stu.getAge()+" ");
System.out.print("城市:"+stu.getCity()+" ");
System.out.print("性別:"+stu.getGender()+" ");
System.out.print("省份:"+stu.getProvince()+" ");
System.out.print("成績:"+stu.getScore()+" ");
}
/**
* 列印全體學生資訊
*/
public static void printAll(){
for(int i = 1;i<dataIndex;i++){
StuData.printOne(stus[i]);
System.out.println();
}
}
}
選單列印
package com.hanmengqi.java11.stusys;
public class Manu {
/**
* 列印主選單
*/
public static void printMainMenu() {
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(" 6.退出");
}
/**
* 列印選擇選單
*/
public static void printChooseMenu() {
System.out.println(" 1.姓名");
System.out.println(" 2.年齡");
System.out.println(" 3.所在城市");
System.out.println(" 4.性別");
System.out.println(" 5.所在省份");
System.out.println(" 6.成績");
}
/**
* 返回選單
*/
public static void returnMenu() {
System.out.println("請選擇您接下來要進行是操作:");
System.out.println(" 1.返回主選單");
System.out.println(" 2.退出");
}
}
系統入口
package com.hanmengqi.java11.stusys;
import java.util.Scanner;
public class Main {
/*
* 系統入口
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("歡迎來到xxx學生資訊管理系統");
Input.password(input);
}
}
輸入判斷
package com.hanmengqi.java11.stusys;
import java.util.Scanner;
public class Input {
/**
* 輸入密碼
* @param input
*/
public static void password(Scanner input) {
System.out.println("請輸入密碼:");
String password = input.next();
while (password.equals("12345678") == false) {
System.out.println("您輸入的的密碼有誤!!");
System.out.println("請重新輸入密碼:");
password = input.next();
}
mainMenuJudge(input);
}
/**
* 主選單輸入
* @param input
*/
public static void mainMenuJudge(Scanner input){
Manu.printMainMenu();
int i = input.nextInt();
while (true) {
switch (i) {
case 1:
StuData.addStu(Input.addInput(input));
break;
case 2:
StuData.changeStu(Input.changeInput(input));
break;
case 3:
StuData.deleteStu(Input.InputToStu(input));
break;
case 4:
StuData.printOne(Input.InputToStu(input));
break;
case 5:
StuData.printAll();
break;
case 6:
break;
default:
System.out.println("您的輸入有誤!");
System.out.println("請重新輸入:");
i = input.nextInt();
}
if(i==6){
break;
}else{
Manu.returnMenu();
if(Input.returnJudge(input) == true){
i = input.nextInt();
}else {
break;
}
}
}
}
/**
* 新增學生資訊:輸入部分
* @param input
*/
public static Student addInput(Scanner input) {
Student stu = new Student();
System.out.println("請輸入學生姓名:");
stu.setStuName(input.next());
System.out.println("請輸入學生學號:");
stu.setStuNo(input.next());
System.out.println("請輸入性別:");
stu.setGender(input.next());
System.out.println("請輸入學生年齡:");
stu.setAge(input.nextInt());
System.out.println("請輸入學生所在城市:");
stu.setCity(input.next());
System.out.println("請輸入學生所在省份:");
stu.setProvince(input.next());
System.out.println("請輸入學生成績:");
stu.setScore(input.nextInt());
StuData.addStu(stu);
return stu;
}
/**
* 更改學生資訊:輸入部分
* @param input
*/
public static Student changeInput(Scanner input) {
System.out.println("請輸入你要更改的學生的編號:");
String str = input.next();
Student stu = StuData.stuNoToStu(str);
if(stu == null){
return null;
}
System.out.println("請選擇你想要修改的學生資訊:");
Manu.printChooseMenu();
int i = input.nextInt();
while (true) {
switch(i){
case 1:
System.out.println("請輸入更改後的學生姓名:");
stu.setStuName(input.next());
break;
case 2:
System.out.println("請輸入更改後的學生年齡:");
stu.setAge(input.nextInt());
break;
case 3:
System.out.println("請輸入更改後的學生所在城市:");
stu.setCity(input.next());
break;
case 4:
System.out.println("請輸入更改後的學生性別:");
stu.setGender(input.next());
break;
case 5:
System.out.println("請輸入更改後的學生所在省份:");
stu.setProvince(input.next());
break;
case 6:
System.out.println("請輸入更改後的學生成績:");
stu.setScore(input.nextInt());
default:
System.out.println("您的輸入有誤!");
System.out.println("請重新選擇你想要修改的學生資訊:");
Manu.printChooseMenu();
i = input.nextInt();
}
break;
}
return stu;
}
/**
*刪除學生資訊輸入部分: 輸入學號返回學生
* @param input
* @return
*/
public static Student InputToStu(Scanner input){
System.out.println("請輸入你要刪除的學生的編號:");
String str = input.next();
Student stu = StuData.stuNoToStu(str);
return stu;
}
/**
* 返回選單判斷
* @param input
* @return
*/
public static boolean returnJudge(Scanner input){
int i = input.nextInt();
while (i != 1 && i != 2) {
System.out.println("您的輸入有誤!");
System.out.println("請重新輸入:");
i = input.nextInt();
}
if (i == 1) {
Manu.printMainMenu();
return true;
}
return false;
}
}