终于开搞第一个小案例了。直接上程序吧。
一、学生类
定义一个学生类,有四个属性,分别是学号、姓名、年龄和家庭住址,属性均用private修饰并设置了set方法和get方法,提供了一个无参构造方法和一个多参数构造方法,这是一个非常标准的类。
package SIMS;
/*
快捷键:Alt + insert 自动生成构造方法、set方法和get方法
*/
public class Student {
//学号
private String id;
//姓名
private String name;
//年龄
private String age;
//地址
private String address;
public Student() {
}
public Student(String id, String name, String age, String address) {
this.id = id;
this.name = name;
this.age = age;
this.address = address;
}
public void setId(String id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setAge(String age) {
this.age = age;
}
public void setAddress(String address) {
this.address = address;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public String getAge() {
return age;
}
public String getAddress() {
return address;
}
}
二、主界面
主要思路就是用一个集合存储学生对象,实现了添加学生信息、查看所有学生、删除学生、修改学生信息和退出系统五个功能,前面四个功能都用方法实现,while死循环不断询问操作类型,直到选择退出系统。并且对学号不存在、学号重复、没有录入信息等问题都进行了判断,perfect!
package SIMS;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManage {
/*1:用输出语句完成主界面样式
2:用Scancer实现键盘录入
3:用switch完成操作选择
4:用循环再次回到主界面*/
public static void main(String[] args) {
//创建学生集合对象,用于存储学生信息
ArrayList<Student> array = new ArrayList<Student>();
//4:用循环再次回到主界面
while (true){
//1:用输出语句完成主界面样式
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.println("请输入你的选择:");
//2:用Scancer实现键盘录入
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
//3:用switch完成操作选择
switch (number){
case 1:
// System.out.println("添加学生信息");
addStudent(array);
break;
case 2:
// System.out.println("查看所有学生");
viewStudent(array);
break;
case 3:
// System.out.println("删除学生信息");
deleteStudent(array);
break;
case 4:
// System.out.println("修改学生信息");
modifyStudent(array);
break;
case 5:
System.out.println("谢谢使用");
System.exit(0);
}
}
}
public static void addStudent(ArrayList<Student> array){
//键盘录入信息
Scanner sc = new Scanner(System.in);
System.out.println("请输入学号:");
String id = sc.nextLine();
//检查学生是否重复
for(int i = 0; i<array.size();i++){
Student s = array.get(i);
if(s.getId().equals(id)){
System.out.println("该学生已存在,请选择其他操作,或者修改该学生信息");
return;
}
}
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(id,name,age,address);
//将学生对象添加到集合中
array.add(s);
//给出添加成功提示
System.out.println("添加成功");
}
public static void viewStudent(ArrayList<Student> array){
int n = array.size(); //学生数量
if(n==0){
System.out.println("学生信息不存在,请先录入学生信息!");
}else{
//显示表头信息
System.out.println("学号\t\t姓名\t年龄\t地址");
//将集合中的数据取出,按对应格式显示
for(int i = 0; i<n;i++){
Student s = array.get(i);
System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"岁"+"\t"+s.getAddress());
}
}
}
public static void deleteStudent(ArrayList<Student> array){
//输出提示信息
System.out.println("请输入要删除的学生的学号:");
//从键盘获取学号
Scanner sc = new Scanner(System.in);
String id = sc.nextLine();
//遍历集合,查找学生
for(int i = 0; i<array.size();i++){
Student s = array.get(i);
if(s.getId().equals(id)){
array.remove(i);
System.out.println("删除学生成功");
return;
}
}
System.out.println("你输入的学号有误,该学生不存在");
}
public static void modifyStudent(ArrayList<Student> array){
//输出提示信息
System.out.println("请输入要修改的学生的学号:");
//从键盘获取学号
Scanner sc = new Scanner(System.in);
String id = sc.nextLine();
//判断该学生是否存在
for (int i = 0;i<array.size();i++){
Student s = array.get(i);
if (s.getId().equals(id)){
System.out.println("请输入新的学生学号:");
String id2 = sc.nextLine();
System.out.println("请输入新的学生姓名:");
String name2 = sc.nextLine();
System.out.println("请输入新的学生年龄:");
String age2 = sc.nextLine();
System.out.println("请输入新的学生地址:");
String address2 = sc.nextLine();
//创建学生对象
Student s2 = new Student(id2,name2,age2,address2);
//修改学生集合
array.set(i,s2);
//输出提示信息
System.out.println("修改学生信息成功");
return;
}
}
System.out.println("该学生不存在,请选择其他操作");
}
}
我用的是IDEA编辑器,代码里的package SIMS是我自己创建的一个包,这个就不多说了,如果这里报错请自己解决。
经典管理系统,没啥好讲的,自己扣着玩去吧。