学生个人信息管理系统

需求:学生个人信息管理系统
分析:学生管理:需要明确学生的所有信息。
学生的信息有哪些?姓名 年龄 性别 电话 住址 学号 各科成绩
需要一个类封装每个学生的这些信息

学生信息的管理:
针对每个学生需要可以对他/她的信息进行修改和查询,对每个学生对象可以增删操作。

需要提供 学生信息各种操作 选择 的提示信息,这里我们统一使用控制台。

首先学生类对象封装

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("输入的学生姓名不存在");
}

}
}

原文地址:https://www.cnblogs.com/wenlong001/p/7203442.html