课后,抱着巩固基础的目的,用Java写了一个简单的在控制台输出 的学生管理系统,实现了基本的几个功能,包括查看全部,查找,增加,修改,删除,退出
代码如下:
package my_project;
import java.util.*;
//学生基本信息
class stu_den{
//普通数组
private String name[] = null;
private String age[] = null;
private String stu_num[] = null;
//List数组
private ArrayList<String> name_l;
private ArrayList<String>age_l;
private ArrayList<String>stu_num_l;
stu_den(){
//普通数组
name = new String[]{"张三", "李四", "王五", "赵六"};
age = new String[]{"18", "19", "19", "20"};
stu_num = new String[]{"20182629", "20181890", "20183630", "20181234"};
//将普通数组转化为List类型数组
name_l = new ArrayList<String>(Arrays.asList(name));
age_l = new ArrayList<String>(Arrays.asList(age));
stu_num_l = new ArrayList<String>(Arrays.asList(stu_num));
}
public List getName(){
return name_l;
}
public List getAge(){
return age_l;
}
public List getNum(){
return stu_num_l;
}
}
//学生管理系统
class manage{
stu_den sd = new stu_den();
Scanner s = new Scanner(System.in);
manage(){
System.out.println("1. 查看现有系统的所有学生信息");
System.out.println("2. 查找学生");
System.out.println("3. 增加学生信息");
System.out.println("4. 修改学生的信息");
System.out.println("5. 删除学生的信息");
System.out.println("0. 退出");
}
//将信息格式化输出
public void format(){
System.out.printf("%s %15s %15s\n", "姓名", "年龄", "学号");
for(int i=0; i<sd.getName().size(); i++){
System.out.printf("%s %15s %15s\n", sd.getName().get(i), sd.getAge().get(i), sd.getNum().get(i));
}
}
//实现主要逻辑
public void main(int n){
switch(n){
case 1:
all();
break;
case 2:
show();
break;
case 3:
add();
break;
case 4:
alter();
break;
case 5:
remove();
break;
case 0:
exit();
break;
}
}
//实现功能1
public void all(){
format();
}
//实现功能2
public void show(){
boolean bl = true;
System.out.print("请输入要查找的学生:");
String stu = s.next();
for(int i=0; i<sd.getName().size(); i++){
if(stu.equals(sd.getName().get(i))){
System.out.printf("%s %15s %15s\n", "姓名", "年龄", "学号");
System.out.printf("%s %15s %15s\n",sd.getName().get(i), sd.getAge().get(i), sd.getNum().get(i));
bl = false;
break;
}
}
if(bl) {
System.out.println("查无此人");
}
}
//实现功能3
public void add(){
String add_name;
String add_age;
String add_Num;
System.out.print("姓名:");
add_name = s.next();
System.out.print("年龄:");
add_age = s.next();
System.out.print("学号:");
add_Num = s.next();
sd.getName().add(add_name);
sd.getAge().add(add_age);
sd.getNum().add(add_Num);
System.out.println("添加成功");
}
//实现功能4
public void alter(){
System.out.print("请输入要修改的学生名字:");
String alter_stu = s.next();
for(int i=0; i<sd.getName().size(); i++){
if(alter_stu.equals(sd.getName().get(i))){
System.out.print("更改后的姓名(输入0则不更改):");
String alter_name = s.next();
System.out.print("更改后的年龄(输入0则不更改):");
String alter_age = s.next();
System.out.print("更改后的学号(输入0则不更改):");
String alter_num = s.next();
if(alter_name.equals("0")){
}else{
sd.getName().set(i, alter_name);
}
if(alter_age.equals("0")){
}else{
sd.getAge().set(i, alter_age);
}
if(alter_num.equals("0")){
}else{
sd.getNum().set(i, alter_num);
}
}
}
}
//实现功能5
public void remove(){
System.out.print("要删除的姓名:");
String re_name = s.next();
for(int i=0; i<sd.getName().size(); i++){
if(re_name.equals(sd.getName().get(i))){
sd.getName().remove(i);
sd.getAge().remove(i);
sd.getNum().remove(i);
}
}
}
//实现功能0
public void exit(){
System.out.println("已退出");
System.exit(0);
}
}
public class student{
public static void main(String[] args) {
manage mg = new manage();
stu_den sd = new stu_den();
Scanner sc = new Scanner(System.in);
while(true){
System.out.print("请进行操作(0-5):");
int n = sc.nextInt();
mg.main(n);
}
}
}
后续会加上图形化界面后的学生管理系统…