1. 程式人生 > >學生個人信息管理系統

學生個人信息管理系統

res main keys scanner .get 年齡 util public ner

需求:學生個人信息管理系統
分析:學生管理:需要明確學生的所有信息。
學生的信息有哪些?姓名 年齡 性別 電話 住址 學號 各科成績
需要一個類封裝每個學生的這些信息

學生信息的管理:
針對每個學生需要可以對他/她的信息進行修改和查詢,對每個學生對象可以增刪操作。

需要提供 學生信息各種操作 選擇 的提示信息,這裏我們統一使用控制臺。

首先學生類對象封裝

package studentmanage;

public class Student {
// 學生的信息有哪些?姓名 年齡 性別 電話 住址 學號 各科成績
private String name;
private int age;
private String sex;
private String tel;
private String address;
private String snum;
private float math;
private float chinese;
private float english;
//使用構造函數進行默認初始化
public Student(String name, int age, String sex, String tel,
String address, String snum, float math, float chinese,
float english) {
super();
this.name = name;
this.age = age;
this.sex = sex;
this.tel = tel;
this.address = address;
this.snum = snum;
this.math = math;
this.chinese = chinese;
this.english = english;
}
public Student() {
//空參構造
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getSnum() {
return snum;
}
public void setSnum(String snum) {
this.snum = snum;
}
public float getMath() {
return math;
}
public void setMath(float math) {
this.math = math;
}
public float getChinese() {
return chinese;
}
public void setChinese(float chinese) {
this.chinese = chinese;
}
public float getEnglish() {
return english;
}
public void setEnglish(float english) {
this.english = english;
}
}

然後進行學生對象管理用集合中的Map進行操作

package studentmanage;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

public class StudentManage {
// 創建集合對象
static Map map = new HashMap();

public static void main(String[] args) {
stuadd();

stucheck(map);

stuRevise();
stucheck(map);
studel();
stucheck(map);
}

public static void stuadd() {
boolean d = true;
while (d) {
System.out.println("------------->請添加學生對象<--------------");
// 姓名 年齡 性別 電話 住址 學號 各科成績
System.out.println("請輸入學生姓名:");
Scanner a = new Scanner(System.in);
String name = a.next();
System.out.println("請輸入學生年齡:");
int age = a.nextInt();
System.out.println("請輸入學生性別:");
// 可以用循環判斷性別是否輸入有無,如果錯誤就重新輸入

String sex = a.next();
System.out.println("請輸入學生電話:");
// 可以用循環判斷性別是否輸入有無,如果錯誤就重新輸入

String tel = a.next();
System.out.println("請輸入學生住址:");
// 可以用循環判斷性別是否輸入有無,如果錯誤就重新輸入

String adr = a.next();
System.out.println("請輸入學生學號:");

String snum = a.next();
System.out.println("請輸入學生語文成績:");

float ch = a.nextFloat();
System.out.println("請輸入學生數學成績:");

float math = a.nextFloat();
System.out.println("請輸入學生英語成績:");

float en = a.nextFloat();
// 在map中添加學生對象
map.put(name, (new Student(name, age, sex, tel, adr, snum, math,
ch, en)));
System.out.println("繼續添加學生對象請輸入1,其他則退出添加");
int b = a.nextInt();
if (b != 1) {
d = false;
}
}
// map.put("秦文龍",(new Student("秦文龍", 22, "男", "13323725676", "河南滑縣",
// "131309219", 98, 98, 96)));
// map.put("秦小龍",(new Student("秦小龍", 23, "男", "13323725676", "河南滑縣",
// "131309219", 98, 98, 96)));
}

public static void studel() {
boolean s = true;
while (s) {
System.out.println("請輸入要刪除學生的姓名");
Scanner aa = new Scanner(System.in);
String a = aa.next();
if (map.containsKey(a)) {
s = false;
map.remove(a);
if (map.containsKey(a)) {
System.out.println("刪除不成功");
s = true;
}
System.out.println("刪除成功");
} else {
System.out.println("輸入的學生不存在,請重新輸入");
}
}
}

public static void stucheck(Map m) {
System.out.println("------------->查看學生對象信息<-------------");
Set s = m.keySet();
for (Iterator iterator = s.iterator(); iterator.hasNext();) {
Object key = iterator.next();
Object val = m.get(key);
Student s1 = (Student) val;
System.out.println(key + "..." + s1.getAge() + "..." + s1.getSex()
+ "..." + s1.getAddress() + "..." + s1.getTel() + "..."
+ s1.getChinese() + "..." + s1.getMath() + "..."
+ s1.getEnglish());
}
}

public static void stuRevise() {
System.out.println("------------>請輸入要修改的學生姓名:<--------------");
Scanner a = new Scanner(System.in);
String ss = a.next();
if (map.containsKey(ss)) {
boolean k = true;
while (k) {
System.out.println("請輸入要修改的選項:");
// 年齡 性別 電話 住址 學號 各科成績
System.out.println("1表示修改年齡, 2表示修改性別, 3表示修改電話, 4表示修改住址");
System.out
.println("5表示修改學號,6表示修改數學成績,7表示修改語文成績,8表示修改英語成績,其他表示退出修改");

int c = a.nextInt();
Object val = map.get(ss);
Student s1 = (Student) val;
switch (c) {
case 1: {
System.out.println("請輸入修改的年齡:");

int age = a.nextInt();
s1.setAge(age);
}
break;
case 2: {
System.out.println("請輸入修改的性別:");

String sex = a.next();
s1.setSex(sex);
}
break;
case 3: {
System.out.println("請輸入修改的電話:");

String tel = a.next();
s1.setTel(tel);
}

break;
case 4: {
System.out.println("請輸入修改的住址:");

String address = a.next();
s1.setAddress(address);
}

break;
case 5: {
System.out.println("請輸入修改的學號:");

String address = a.next();
s1.setAddress(address);
}
break;
case 6: {
System.out.println("請輸入修改的數學成績:");

int math = a.nextInt();
s1.setMath(math);
}

break;
case 7: {
System.out.println("請輸入修改的語文成績:");

int chinese = a.nextInt();
s1.setChinese(chinese);
}

break;
case 8: {
System.out.println("請輸入修改的英語成績:");

int english = a.nextInt();
s1.setEnglish(english);
}
break;
default: {
k = false;
System.out.println("退出修改");
}
break;
}
}
} else {
System.out.println("輸入的學生姓名不存在");
}

}
}

學生個人信息管理系統