需求:
采取控制台的方式区书写学生管理系统
初始菜单:
学生类:
属性:id,姓名,年龄,家庭住址
添加功能:
键盘录入每一个学生信息并添加,需要满足以下要求:id唯一
删除功能:
键盘录入要删除的学生id,需要满足以下要求:id存在删除id不存在,需要提示不存在,并返回初始菜单
修改功能:
键盘录入要修改的学生id,需要满足以下要求:id存在,继续录入其他信息id不存在,需要提示不存在,并返回初始菜单
查询功能:
打印所有的学生信息,需要满足以下要求:如果没有学生信息,提示:当前无学生信息,请添加后再查询如果有学生信息,需要按照以下格式输出(不用过于纠结对齐的问题)
答案:
[content_hide]
public class student {
private int id;
private String name;
private int age;
private String home;
public student() {
}
public student(int id, String name, int age, String home) {
this.id = id;
this.name = name;
this.age = age;
this.home = home;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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 getHome() {
return home;
}
public void setHome(String home) {
this.home = home;
}
}
import java.util.ArrayList;
import java.util.Scanner;
public class IT梦 {
public static void main(String[] args) {
ArrayList<student> list = new ArrayList<>();
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("请输入你的选择:");
Scanner sc = new Scanner(System.in);
String choose = sc.next();
switch (choose){
case "1" -> addStudent(list);
case "2" -> deleteStudent(list);
case "3" -> changeStudent(list);
case "4" -> queryStudent(list);
case "5" -> {
System.out.println("谢谢使用,再见");
System.exit(0);
//停止虚拟机运行
}
default -> System.out.println("没有这个选项");
}
}
}
public static void addStudent(ArrayList<student> list){
Scanner sc = new Scanner(System.in);
student s = new student();
while (true) {
System.out.println("请输入学生的id");
int id = sc.nextInt();
boolean flag = judgeId(list,id);
if(flag){
System.out.println("当前id已存在,请重新输入");
}else {
s.setId(id);
break;
}
}
System.out.println("请输入学生的姓名");
String name = sc.next();
s.setName(name);
System.out.println("请输入学生的年龄");
int age = sc.nextInt();
s.setAge(age);
System.out.println("请输入学生的家庭住址");
String home = sc.next();
s.setHome(home);
list.add(s);
System.out.println("添加成功");
}
public static void deleteStudent(ArrayList<student> list){
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除的学生id");
int id = sc.nextInt();
int index = getIndex(list, id);
if(index >= 0){
list.remove(index);
System.out.println("id为:" + id + "的学生删除成功");
}else {
System.out.println("当前id不存在,删除失败");
}
}
public static void changeStudent(ArrayList<student> list){
Scanner sc = new Scanner(System.in);
System.out.println("请输入要修改的学生id");
int id = sc.nextInt();
int index = getIndex(list, id);
if(index == -1){
System.out.println("当前id不存在,请重新输入");
return;
}
student stu = list.get(index);
System.out.println("请输入要修改的姓名");
String newName = sc.next();
stu.setName(newName);
System.out.println("请输入要修改的年龄");
int newAge = sc.nextInt();
stu.setAge(newAge);
System.out.println("请输入要修改的家庭住址");
String newHome = sc.next();
stu.setHome(newHome);
System.out.println("id为:" + id + "的学生信息修改成功");
}
public static void queryStudent(ArrayList<student> list){
if(list.size() == 0){
System.out.println("当前无学生信息,请添加后在查询");
return;
}
System.out.println("id\t姓名\t年龄\t家庭住址");
for (int i = 0; i < list.size(); i++) {
student stu = list.get(i);
System.out.println(stu.getId() + "\t" + stu.getName() + "\t" + stu.getAge() + "\t" + stu.getHome());
}
}
public static boolean judgeId(ArrayList<student> list,int id){
for (int i = 0; i < list.size(); i++) {
student stu = list.get(i);
if(stu.getId() == id){
return true;
}
}
return false;
}
public static int getIndex(ArrayList<student> list,int id){
for (int i = 0; i < list.size(); i++) {
student stu = list.get(i);
if(stu.getId() == id){
return i;
}
}
return -1;
}
}
[/content_hide]
© 版权声明
THE END
暂无评论内容