需求:利用JAVA实现学生信息系统管理;要求:
①、实现学生信息的增删改查以及管理系统的退出
②、学生的学号信息不允许重复。
③、除了退出操作,其他操作完成后重新进入系统主界面
④、删除操作时,若无数据则直接提示,并进入主界面
/*
学生类
*/
public class student {
//成员变量
//学号
private String sid;
//姓名
private String name;
//年龄
private int age;
//居住地
//构造方法
private String address;
public student(){
}
public student(String sid,String name,int age,String address){
this.sid = sid;
this.name = name;
this.age = age;
this.address = address;
}
//get方法
public String getSid(){
return sid;
}
public String getName(){
return name;
}
public String getAddress(){
return this.address;
}
public int getAge(){
return age;
}
//set方法
public void setName(String name){
this.name = name;
}
public void setAge(int age){
this.age = age;
}
public void setSid(String sid){
this.sid = sid;
}
public void setAddress(String address){
this.address = address;
}
}
import java.util.ArrayList;
import java.util.Scanner;
public class studentManagement {
public static void main(String[] args) {
ArrayList<student>array =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);
int number = sc.nextInt();//输入选择的操作编号
//根据输入的编号匹配调用对应的方法
switch (number){
case 1: addStudent(array);break;
case 2: removeStudent(array);break;
case 3: setStudent(array);break;
case 4: lookStudent(array);break;
case 5: System.exit(0);
default:
System.out.println("输入违规");
}
}
}
//添加学生信息
public static void addStudent(ArrayList<student>array){
student st = new student();
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生ID");
//判断所输入的学生ID是否已存在
String id = sc.nextLine();
for (int i=0;i<array.size();i++){
if (array.get(i).getSid().equals(id)){
System.out.println("输入的ID已存在,请重新操作");
return;
}
}
System.out.println("请输入学生姓名");
String name = sc.nextLine();
System.out.println("请输入学生居住地");
String address = sc.nextLine();
System.out.println("请输入学生年龄");
int age = sc.nextInt();
//将输入的信息传给对象的成员变量
st.setSid(id);
st.setName(name);
st.setAge(age);
st.setAddress(address);
//将对象存放到集合中
array.add(st);
System.out.println("添加成功");
}
//删除学生信息
public static void removeStudent(ArrayList<student>array){
//判断集合中是否有数据,若无数据则退出删除信息的操作
if (array.size()==0){
System.out.println("无信息,请先添加信息再删除");
return;
}
//输入要删除的学生的ID
System.out.println("请输入要删除学生的ID");
Scanner sc = new Scanner(System.in);
String id = sc.nextLine();
//循环遍历判断是否有符合条件的对象,若有则删除该条信息并退出方法
for (int i=0;i<array.size();i++){
if (array.get(i).getSid().equals(id)){
array.remove(array.get(i));
System.out.println("删除成功");
return;
}
}
//若没有则提示删除失败,学生ID不存在
System.out.println("删除失败,学生ID不存在");
}
//修改学生信息
public static void setStudent(ArrayList<student>array){
//输入要修改信息的学生的ID
System.out.println("请输入要修改学生的ID");
Scanner sc = new Scanner(System.in);
String id = sc.nextLine();
//循环遍历查找符合修改条件的对象,并修改其数据,并退出方法
for (int i=0;i<array.size();i++){
if (array.get(i).getSid().equals(id)){
System.out.println("请输入学生姓名");
String name = sc.nextLine();
System.out.println("请输入学生居住地");
String address = sc.nextLine();
System.out.println("请输入学生年龄");
int age = sc.nextInt();
array.get(i).setName(name);
array.get(i).setAge(age);
array.get(i).setAddress(address);
System.out.println("修改成功");
return;
}
}
//提示删除失败,学生ID不存在
System.out.println("学生id不存在");
}
//查看所有学生信息
public static void lookStudent(ArrayList<student>array){
//若集合中无元素,则提示无信息,请先添加信息再查询
if (array.size()==0){
System.out.println("无信息,请先添加信息再查询");
//也可以添加一个return;来使方法不再往下执行
}else{
//当集合中有元素,则循环遍历输出对应信息
System.out.println("学生ID\t\t\t学生姓名\t\t学生年龄\t\t学生居住地");
for (int i=0;i<array.size();i++){
String id = array.get(i).getSid();
String name = array.get(i).getName();
String address = array.get(i).getAddress();
int age = array.get(i).getAge();
System.out.println(id+"\t\t\t\t"+name+"\t\t\t"+age+"岁\t\t"+address);
}
}
}
}