思路:
编写一个学生管理系统, 实现对学生信息的添加、删除、修改和查询功能。 首页: 用于显示系统的所有操作,并根据用户在控制台的输入选择需要使用的功能 查询功能: 用户选择后,在控制台打印所有学生信息 添加功能: 用户选择后,要求用户在控制台输入学生学号、姓名、年龄和家庭地址等基本信息 输入学号时,判断是否已存在,给出相应提示(添加失败或添加成功) 删除功能: 用户选择后,在控制台输入要删除的学生学号, 如果学号存在,删除并返回(删除成功);反之提示“删除失败,学号为空。” 修改功能: 用户选择后,提示永华在控制台输入需要修改的学生学号、姓名、年龄和家庭地址 使用输入的学号判断该学生是否存在, 如果有,覆盖信息;如果没有,提示“学生信息不存在” 退出功能: 用户选择后,程序正常关闭。 掌握list集合常用方法的使用
代码:
代码结构:
Student类:
package base.base021;
public class Student {
private String id;
private String name;
private int age;
private String address;
public Student() {
}
public Student(String id, String name, int age, String address) {
this.id = id;
this.name = name;
this.age = age;
this.address = address;
}
public String getId() {
return id;
}
public void setId(String 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 getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
测试类:
package base.base021;
/*
学生管理系统
编写一个学生管理系统,
实现对学生信息的添加、删除、修改和查询功能。
首页:
用于显示系统的所有操作,并根据用户在控制台的输入选择需要使用的功能
查询功能:
用户选择后,在控制台打印所有学生信息
添加功能:
用户选择后,要求用户在控制台输入学生学号、姓名、年龄和家庭地址等基本信息
输入学号时,判断是否已存在,给出相应提示(添加失败或添加成功)
删除功能:
用户选择后,在控制台输入要删除的学生学号,
如果学号存在,删除并返回(删除成功);反之提示“删除失败,学号为空。”
修改功能:
用户选择后,提示永华在控制台输入需要修改的学生学号、姓名、年龄和家庭地址
使用输入的学号判断该学生是否存在,
如果有,覆盖信息;如果没有,提示“学生信息不存在”
退出功能:
用户选择后,程序正常关闭。
掌握list集合常用方法的使用
*/
import java.util.ArrayList;
import java.util.Scanner;
public class Test21 {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
ArrayList<Student> list = new ArrayList<>();
w:
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("请输入您的选择:");
int choice = sc.nextInt();
switch (choice){
case 1:
//查看
select(list);
//System.out.println("查看学生");
break;
case 2:
//添加
add(list);
//System.out.println("添加学生");
break;
case 3:
//修改
update(list);
//System.out.println("修改学生");
break;
case 4:
//删除
delete(list);
//System.out.println("删除学生");
break;
case 5:
//退出
System.out.println("感谢您的使用!");
break w;
default:
System.out.println("您的输入有误,请重新输入");
}
}
}
/*
删除学生信息
输入学号
判断学号是否存在
存在:将当前学生删除
不存在:给出提示
*/
private static void delete(ArrayList<Student> list) {
System.out.println("输入想要删除的学生学号:");
String id = sc.next();
//判断学号是否存在
for(int i=0;i<list.size();i++){
Student stu = list.get(i);
if(stu.getId().equals(id)){
//删除学生
list.remove(i);
System.out.println("删除成功!");
return;//结束当前方法
}
}
System.out.println("您输入的学号不存在!");
}
/*
修改学生信息
输入学生学号,判断是否存在
存在:继续输入其他信息,覆盖原信息
不存在:给出提示
*/
private static void update(ArrayList<Student> list) {
System.out.println("请输入要修改的学生学号:");
String id = sc.next();
//判断学号是否存在
for(int i=0;i<list.size();i++){
Student stu = list.get(i);
if(stu.getId().equals(id)){
//存在
System.out.println("请输入学生姓名:");
String name = sc.next();
System.out.println("请输入学生年龄:");
int age = sc.nextInt();
System.out.println("请输入学生住址:");
String address = sc.next();
//覆盖信息
stu.setId(id);
stu.setName(name);
stu.setAge(age);
stu.setAddress(address);
System.out.println("修改成功!");
return;//修改成功,讲方法结束
}
}
System.out.println("您输入的学号不存在!");
}
/*
添加学生
输入学号
判断学号是否存在
存在:给出提示
不存在:继续输入其他信息
封装学生对象
将学生对象添加到集合中
*/
private static void add(ArrayList<Student> list) {
String id;
while (true) {
System.out.println("请输入学生学号:");
id = sc.next();
//判断是否存在
boolean flag = false;
for(int i=0;i<list.size();i++){
Student stu = list.get(i);
if(stu.getId().equals(id)){
flag = true;
break;
}
}
if(flag == true){
System.out.println("学号已存在,请重新输入!");
}else{
break;
}
}
System.out.println("请输入学生姓名:");
String name = sc.next();
System.out.println("请输入学生年龄:");
int age = sc.nextInt();
System.out.println("请输入学生住址:");
String address = sc.next();
//封装为一个学生对象
Student s = new Student(id,name,age,address);
//将学生对象添加到集合中
list.add(s);
System.out.println("添加成功!");
}
//查看学生信息
/*
判断长度是否为0
是:提示当前无数据
否:显示现有数据
*/
private static void select(ArrayList<Student> list) {
if(list.size() == 0){
System.out.println("学生信息为空,请先添加学生信息。");
}else{
System.out.println("学号\t\t姓名\t\t年龄\t\t地址");
for(int i = 0;i < list.size();i++){
Student stu = list.get(i);
System.out.println(stu.getId()+"\t\t"+stu.getName()+"\t\t"+stu.getAge()+"\t\t"+stu.getAddress());
}
}
}
}