昨天的代码,今天又优化了一下,还有需要弥补的地方,下次有时间在优化。
定义类
public class stu {
private String name;
private String age;
private String id;
private String address;
public stu() {
}
public stu(String id,String name, String age, String address) {
this.name = name;
this.age = age;
this.id = id;
this.address = address;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
测试类:
public class stuText {
//该方法查询学号是否重复
public static boolean chongfu(ArrayList<stu> st,String index){
//res 返回学号是否重复,默认为false 不重复
boolean res = false ;
for (int i = 0; i < st.size(); i++) {
stu nu = st.get(i);
if(nu.getId().equals(index)){
//如果重复了,赋值为true;
res= true;
break;
}
}
return res;
}
//添加学生信息方法
public static void tianjia(ArrayList<stu> st){
Scanner sc =new Scanner(System.in);
//id储存学号
String id = null;
while (true) {
System.out.println("请输入学号");
id = sc.next();
//调用查重方法
boolean a =chongfu(st,id);
if(a){
System.out.println("该学号已经存在");
continue;
}else {
break;
}
}
System.out.println("请输入姓名");
String name = sc.next();
System.out.println("请输入年龄");
String age = sc.next();
System.out.println("请输入地址");
String address = sc.next();
stu dui = new stu(id,name,age,address);
st.add(dui);
System.out.println("添加成功");
}
//查询学生信息方法
public static void chakan(ArrayList<stu> st){
if(st.size() != 0) {
for (int i = 0; i < st.size(); i++) {
stu res = st.get(i);
System.out.println("学号:" + res.getId() + " 姓名:" + res.getName() + " 年龄:" + res.getAge() + " 地址:" + res.getAddress());
}
}else {
System.out.println("没有数据,请先添加");
return;
}
}
//删除学生信息方法
public static void shanchu(ArrayList<stu> st){
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要删除学生的学号");
String index = sc.next();
for (int i = 0; i < st.size(); i++) {
stu s = st.get(i);
if(s.getId().equals(index)){
st.remove(i);
System.out.println("删除成功");
return;
}
}
}
//修改学生信息方法
public static void xiugai(ArrayList<stu> st){
System.out.println("请输出要修改学生的学号");
Scanner sc = new Scanner(System.in);
String id = sc.next();
for (int i = 0; i < st.size(); i++) {
stu s = st.get(i);
//如果找到学号,根据学号修改信息
if(s.getId().equals(id)){
System.out.println("请输入新姓名");
String name = sc.next();
System.out.println("请输入新年龄");
String age = sc.next();
System.out.println("请输入新地址");
String address = sc.next();
s.setId(id);
s.setAddress(address);
s.setAge(age);
s.setName(name);
System.out.println("修改成功");
return;
}
}
}
public static void main(String[] args) {
ArrayList<stu> st = new ArrayList<>();
Scanner sc = new Scanner(System.in);
while (true) {
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("请输入你的选择:");
String num = sc.nextLine();
switch (num) {
case "1":
tianjia(st);
break;
case "2":
shanchu(st);
break;
case "3":
xiugai(st);
break;
case "4":
chakan(st);
break;
case "5":
System.out.println("谢谢使用");
return;
default:
System.out.println("输入不合法,请重新输入");
break;
}
}
}
}