这个是我做的第一个java系统,虽然十分简单,也老掉牙了,但是还是值得纪念一下的!
定义一个javabean类作为学生信息的基本单元,按照javabean的要求:有有参构造和无参构造,同时成员变量私有化,设置set以及get函数
学生信息如下:
ID(唯一(数据库中的主码!哈哈哈哈哈,最近刚学数据库,也就会这么一点))
姓名
年龄
家庭住址
源码如下:
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 get_ID(){
return this.ID;
}
public String get_name(){
return this.name;
}
public int get_age(){
return this.age;
}
public String get_address(){
return this.address;
}
public void set_ID(String ID){
this.ID=ID;
}
public void set_name(String name){
this.name=name;
}
public void set_address(String address){
this.address=address;
}
public void set_age(int age){
this.age=age;
}
}
接下来是管理系统的部分
采用ArrayList集合来存储信息,动态存储,一定程度节省空间,运用switch结构便于阅读,封装函数(但集合的遍历没有封装,导致代码重复性较高,可以改进,但我懒得改了),采用了链式编程(可以减少变量的定义),运用制表符,美化表的结构(因为id和姓名一般较长,所以采用了两个制表符,其余地方就只采用了一个)
import java.util.Scanner;
import java.util.ArrayList;
public class management_system {
//静态main函数所调用的方法和变量都需要被static修饰
static Scanner sc=new Scanner(System.in);
static private ArrayList<student>arr_student=new ArrayList<student>();
public static void print_title(){
System.out.println("---------欢迎来到ljx的学生管理系统----------");
System.out.println("1:添加学生");
System.out.println("2:删除学生");
System.out.println("3:修改学生");
System.out.println("4:查询学生");
System.out.println("5:退出");
System.out.println("请输入您的选择:");
}
public static void add_student(){
student temp=new student();
System.out.println("输入学生的ID:");
String test;
while(true){
test=sc.next();
boolean flag=true;
for(int i=0;i<arr_student.size();i++){
if(test.equals(arr_student.get(i).get_ID())){
System.out.println("存在该ID的学生,ID错误,请重新输入ID:");
flag=false;
break;
}
}
if(flag){
break;
}
}
temp.set_ID(test);
System.out.println("输入姓名:");
temp.set_name(sc.next());
System.out.println("输入年龄:");
temp.set_age(sc.nextInt());
System.out.println("输入家庭地址:");
temp.set_address(sc.next());
arr_student.add(temp);
System.out.println("添加完成该学生的信息如下:");
System.out.println("ID\t\t"+"姓名\t\t"+"年龄\t\t"+"家庭住址\t\t");
System.out.println(temp.get_ID()+"\t"+temp.get_name()+"\t"+temp.get_age()+"\t\t"+temp.get_address()+"\t\t");
}
public static void remove_student(){
System.out.println("输入你要删除的学生的ID:");
String test=sc.next();
for(int i=0;i<arr_student.size();i++){
if(arr_student.get(i).get_ID().equals(test)){
arr_student.remove(i);
System.out.println("已成功删除ID为"+test+"的学生");
return ;
}
}
System.out.println("没有该ID的学生");
}
public static void change_student(){
System.out.println("输入你要修改的学生的ID");
String ID=sc.next();
for(int i=0;i<arr_student.size();i++){
if(arr_student.get(i).get_ID().equals(ID)){
System.out.println("输入修改后的age");
arr_student.get(i).set_age(sc.nextInt());
System.out.println("输入修改后的姓名");
arr_student.get(i).set_name(sc.next());
System.out.println("输入修改后的家庭住址");
arr_student.get(i).set_address(sc.next());
System.out.println(ID+"的信息已经成功更改,更改后的信息:");
System.out.println("ID\t\t"+"姓名\t\t"+"年龄\t\t"+"家庭住址\t\t");
System.out.println(arr_student.get(i).get_ID()+"\t"+arr_student.get(i).get_name()+"\t"+arr_student.get(i).get_age()+"\t\t"+arr_student.get(i).get_address()+"\t\t");
return ;
}
}
System.out.println("没有该ID的信息");
}
public static void find_student(){
System.out.println("若查询某一个学生的信息请按0"+'\n'+"查看所有学生的信息按1");
int model=sc.nextInt();
if(model==0){
System.out.println("输入你要查询的学生的ID:");
String test=sc.next();
for(int i=0;i<arr_student.size();i++){
if(arr_student.get(i).get_ID().equals(test)){
System.out.println("ID\t\t"+"姓名\t\t"+"年龄\t\t"+"家庭住址\t\t");
System.out.println(arr_student.get(i).get_ID()+"\t"+arr_student.get(i).get_name()+"\t"+arr_student.get(i).get_age()+"\t\t"+arr_student.get(i).get_address()+"\t\t");
return ;
}
}
System.out.println("没有该ID的学生");
}
else if(model==1){
System.out.println("ID\t\t"+"姓名\t\t"+"年龄\t\t"+"家庭住址\t\t");
for(int i=0;i<arr_student.size();i++){
System.out.println(arr_student.get(i).get_ID()+"\t"+arr_student.get(i).get_name()+"\t"+arr_student.get(i).get_age()+"\t\t"+arr_student.get(i).get_address()+"\t\t");
}
}
else{
System.out.println("错误信息");
}
}
public static void main(String[] args){
int model=0;//读取选择模式
while(true){
print_title();
model=sc.nextInt();
switch (model){
case 1:{
System.out.println("添加学生");
add_student();
System.out.println("");
break;
}
case 2:{
System.out.println("删除学生");
remove_student();
System.out.println("");
break;
}
case 3:{
System.out.println("修改学生");
change_student();
System.out.println("");
break;
}
case 4:{
System.out.println("查询学生");
find_student();
System.out.println("");
break;
}
case 5:{
System.out.println("感谢您的使用,欢迎下次光临");
return ;
}
default:{
System.out.println("未知参数,请重新选择");
System.out.println("");
break;
}
}
}
}
}