实现添加学生信息、删除学生信息、修改学生信息、查看学生信息四项功能。**
思路:
①定义一个学生类,涵盖学生信息(如姓名、学号等)
②编写主界面代码
③编写添加学生信息方法代码
④编写删除学生信息方法代码
⑤编写修改学生信息方法代码
⑥编写查看学生信息方法代码
学生类:Student
成员变量:
姓名:name
学号:sid
年龄:age
住址:address
构造方法:
无参构造
带四个参数的构造
成员方法:
每个成员变量对应给出get/set方法
新建Student类,代码如下:
public class student {
private String name;
private String sid;
private String age;
private String address;
public student() {
}
public student(String name, String sid, String age, String address) {
this.name = name;
this.sid = sid;
this.age = age;
this.address = address;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
①用输出语句完成主界面的编写
②用Scanner实现键盘录入数据
③用switch语句完成操作的选择
④用循环完成再次回到主界面
具体代码如下:
public class StudentManager {
public static void main(String[] args) {
ArrayList<student> array = new ArrayList<student>();//声明一个集合
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("请输入数字选择需要进行的操作:");
Scanner sc = new Scanner(System.in);
while (true) {//用死循环的方式使完成操作后返回主界面
int s = sc.nextInt();//键盘录入数据
switch (s) {
case 1:
addStudent(array);//添加学生信息方法
break;
case 2:
delStudent(array);//删除学生信息方法
break;
case 3:
changeStudent(array);//修改学生信息方法
break;
case 4:
lookStudent(array);//查看学生信息方法
break;
case 5:
System.out.println("谢谢使用");
System.exit(0);//退出jvm虚拟机,程序结束
}
}
}
}
①用键盘录入选择添加学生
②定义一个方法,用于添加学生信息:
①显示提示信息,提示要输入何种信息
②键盘录入学生对象所需数据
③创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
④将学生对象添加到集合中(保存)
⑤给出添加成功的提示
③调用方法
具体代码如下:
public static void addStudent(ArrayList<student> array) {
Scanner sc = new Scanner(System.in);
//根据输入数据选择循环次数,可一次添加多名同学的信息
System.out.println("请输入添加学生信息个数:");
int s = sc.nextInt();
for (int i = 0; i < s; i++) {
Scanner sd = new Scanner(System.in);
System.out.println("请输入第" + (i + 1) + "个学生姓名:");
String name = sd.nextLine();
System.out.println("请输入" + name + "的学号");
String sid = sd.nextLine();
System.out.println("请输入" + name + "的年龄:");
String age = sd.nextLine();
System.out.println("请输入" + name + "的住址:");
String address = sd.nextLine();
student ss = new student();//创建学生对象
//将键盘输入的数据赋值给学生对象
ss.setName(name);
ss.setSid(sid);
ss.setAge(age);
ss.setAddress(address);
array.add(ss);//把对象放进集合
}
System.out.println("添加学生信息成功");//提示信息
}
①用键盘录入选择查看所有信息
②定义一个方法,用于查看学生信息
①显示表头信息
②将集合中的数据取出按照对应格式显示学生信息,年龄显示补充“岁”
③调用方法
具体代码如下:
public static void lookStudent(ArrayList<student> array) {
if (array.size() == 0) {//判断是否有数据,如果没有显示提示信息
System.out.println("暂无数据,请先录入数据!");
return;//return语句停止代码向下运行
}
System.out.println("姓名\t\t" + "学号\t\t" + "年龄\t\t" + "住址");
for (int i = 0; i < array.size(); i++) {
student s = array.get(i);//将集合里索引为i的数据赋给学生变量s
System.out.println(s.getName() + "\t\t" + s.getSid() + "\t\t" + s.getAge() + "岁\t\t" + s.getAddress());
}
}
①用键盘录入选择删除学生信息
②定义一个方法,用于删除学生信息
①显示提示信息
②键盘录入要删除的学生学号
③遍历集合将对应学生从对象集合中删除
④给出删除成功的提示
③调用方法
具体代码如下:
public static void delStudent(ArrayList<student> array) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除学生的学号:");
String sid = sc.nextLine();
int index=-1;
for (int i = 0; i < array.size(); i++) {//循环遍历集合
student ss = array.get(i);//将集合里索引为i的数据赋给学生变量ss
if (ss.getSid().equals(sid)) {//判断索引为i的学号与新录入的学号是否相等
index=i;//如果相等,将索引值赋给index
break;
}
}
//判断学号是否存在,如果存在则删除
if(index==1){ System.out.println("您输入的学号不存在!");
}else {
array.remove(index);
System.out.println("删除成功!");
}
}
①用键盘录入选择修改学生信息
②定义一个方法,用于修改学生信息
①显示提示信息
②键盘录入要修改的学号
③键盘录入要修改的学生信息
④遍历集合修改对应的学生信息
⑤给出修改成功提示
③调用方法
具体代码如下:
public static void changeStudent(ArrayList<student> array) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入要修改学生的学号:");
String sid = sc.nextLine();
for (int i = 0; i < array.size(); i++) {
student ss = array.get(i);
if (ss.getSid().equals(sid)) {
Scanner sd = new Scanner(System.in);
System.out.println("请输入修改后的姓名:");
String name = sd.nextLine();
System.out.println("请输入修改后的年龄:");
String age = sd.nextLine();
System.out.println("请输入修改后的住址:");
String address = sd.nextLine();
ss.setName(name);
ss.setAge(age);
ss.setAddress(address);
array.set(i, ss);
System.out.println("修改成功!");
break;
} else {
System.out.println("您输入的学号有误!");
}
}
}