学生管理系统(简易控制台版)
简介: 创建一个简单的学生管理系统,提供添加学生、查看学生、删除学生、修改学生的功能。同通过两个类:Student类和StudentManager类实现这些功能。
Student类
public class Student {
private String sid; //定义四个私有成员,分别对应学号、姓名、年龄、地址
private String name;
private String age;
private String address;
//无参构造方法
public Student(){
}
//有参构造方法
public Student(String sid,String name,String age,String address){
this.sid=sid;
this.name=name;
this.age=age;
this.address=address;
}
//使用alt+insert快捷键生成构造方法和get/set方法
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
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;
}
}
StudentManager类
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManager {
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);
String line = sc.nextLine();
switch (line) {
case "1":
System.out.println("添加学生");
addStudent(array);
break;
case "2":
System.out.println("删除学生");
deleteStudent(array);
break;
case "3":
System.out.println("修改学生");
changeStudent(array);
break;
case "4":
System.out.println("查看所有学生");
findAllStudent(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("请输入学生学号:");
String sid=sc.nextLine();
System.out.println("请输入学生姓名:");
String name=sc.nextLine();
System.out.println("请输入学生年龄:");
String age=sc.nextLine();
System.out.println("请输入学生住址:");
String address=sc.nextLine();
//创建学生对象,并将数据赋值给学生对象的成员变量
Student s=new Student(sid,name,age,address);
/*
*另一种方式使用是s.setxx()语句进行赋值
* s.setSid(sid);
* s.setname(name);
* s.setage(age);
* s,setaddress(address);
*/
//将学生对象添加到集合
array.add(s);
System.out.println("添加成功");
}
//删除学生
public static void deleteStudent(ArrayList<Student> array){
System.out.println("请输入要删除的学生的学号:");
Scanner sc =new Scanner(System.in);
String sid =sc.nextLine();
for (int i=0 ;i<array.size();i++){
Student s=array.get(i);
if (s.getSid().equals(sid)){
array.remove(i);
break;
}
}
System.out.println("删除成功");
}
//查看学生
public static void findAllStudent(ArrayList<Student> array) {
if(array.size()>0){
System.out.println("学号\t\t姓名\t\t年龄\t\t居住地");
for (int i=0;i<array.size();i++){
Student s=array.get(i);
System.out.println(s.getSid()+'\t'+s.getName()+"\t"+s.getAge()+"岁\t"+s.getAddress());
}
}
else
System.out.println("系统中暂无学生信息");
//另一种实现方式
/*
if(array.size()==0){
System.out.println("系统中暂无学生信息");
return ; //结束当前方法
}
System.out.println("学号\t\t姓名\t\t年龄\t\t居住地");
for (int i=0;i<array.size();i++){
Student s=array.get(i);
System.out.println(s.getSid()+'\t'+s.getName()+"\t"+s.getAge()+"岁\t"+s.getAddress());
}
*/
}
//修改学生
public static void changeStudent(ArrayList<Student> array){
System.out.println("请输入需要修改的学生学号");
Scanner scanner=new Scanner(System.in);
String sid=scanner.nextLine();
for(int i=0;i<array.size();i++){
if (sid.equals(array.get(i).getSid())){
System.out.println("请输入学生的姓名:");
String name=scanner.nextLine();
System.out.println("请输入学生的年龄:");
String age=scanner.nextLine();
System.out.println("请输入学生的住址:");
String address= scanner.nextLine();
Student s=new Student(sid,name,age,address);
array.set(i,s);
System.out.println("修改成功");
}
}
}
}
在程序中使用了ArrayList类,集合类是一种存储空间可变的存储模型。
ArrayList的常用方法如下:
ArrayList<String> array=new ArrayList<>();
创建一个名为array的字符串型集合
array.add(element)
将element添加到集合array的末尾
array.add(index ,element)
将element添加到集合array索引为index的位置
array.remove(Object)
从集合array中移除对象
array.remove(index)
从集合中移除索引为index的元素
array.set(index ,element)
修改指定索引的值,返回被修改的元素
array.get(index)
返回指定索引的值
array.size()
返回集合中元素的个数