public class Studentinfo {
//成员:姓名,年龄,学号,专业
private String name;
private String age;
private String id;
private String major;
//空构造器
public Studentinfo()
{
}
//构造器
public Studentinfo(String name,String age,String id,String major)
{
this.name = name;
this.age = age;
this.id = id;
this.major= major;
}
//方法:get与set
public void setName (String name) { this.name = name; }
public void setAge (String age) { this.age = age; }
public void setId (String id) { this.id = id; }
public void setMajor(String major) { this.major= major;}
public String getName() { return this.name; }
public String getAge() { return this.age; }
public String getId() { return this.id; }
public String getMajor() { return this.major;}
}
import java.util.Scanner;
import java.util.ArrayList;
public class Student_Managment_System {
public static void main(String[] args)
{
//初始界面:
System.out.println("---------------------------");
System.out.println(" ***学生管理系统***");
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("---------------------------");
System.out.print("你想进行的操作序号是:");
//总集合,存放所有Studentinfo类的实例
ArrayList student_Array= new ArrayList();
int x=1;
while(x == 1) //一直循环
{
//输入操作序号:
Scanner ope_num = new Scanner(System.in);
int Operation_Number = ope_num.nextInt();
int flag=0; //标志变量
//进行对应操作:
switch(Operation_Number)
{
case 1: //添加
{
addStudent(student_Array);
flag=0;
break;
}
case 2:
{
deletStudent(student_Array);
flag=0;
break;
}
case 3:
{
showAllStudents(student_Array);
flag=0;
break;
}
case 4:
{
modifyStudentinfo(student_Array);
flag=0;
break;
}
case 5:
{
System.out.println("谢谢使用!您已退出系统。");
flag=1;
break;
}
default:
{
System.out.println("请重新输入正确的操作序号!");
flag=0;
break;
}
}
if(flag==1)
{
break;
}
else
{
System.out.println();
System.out.print("你想进行的操作序号是:");
}
}//END of while(1)
}
//case 1 调用:添加学生
public static void addStudent(ArrayList student_Array)
{
Scanner p = new Scanner(System.in); //通过p输入赋值
Studentinfo stu = new Studentinfo(); //stu是Student类的实例对象
System.out.print("该学生的名字是:");
String name = p.nextLine(); //stu.setName(p.nextLine());也是可以的
stu.setName(name);
System.out.print("该学生的年龄是:");
String age = p.nextLine();
stu.setAge(age);
//这里遇到过bug:如果将age定义成int类,输入后回车将会将回车读入id中,所以只能将age定义成String类
System.out.print("该学生的学号是:");
String id = p.nextLine();
stu.setId(id);
System.out.print("该学生的专业是:");
String major = p.nextLine();
stu.setMajor(major);
//Studentinfo类的对象stu的所有成员都被赋予了值,现在转存入student_Array
student_Array.add(stu);
System.out.println("提交成功!");
}
//case 2调用:删除学生
public static void deletStudent(ArrayList student_Array)
{
Scanner p = new Scanner(System.in);
Studentinfo stu = new Studentinfo();
System.out.print("你要删除的学生的名字是:");
String name = p.nextLine();
for(int i=0; i student_Array)
{
System.out.println("姓名t年龄t学号tt专业"); // t=Tab
for(int i=0; i student_Array)
{
Scanner p = new Scanner(System.in);
Studentinfo stu = new Studentinfo();
System.out.print("你想修改的学生的名字是:");
for(int i=0; i