#学生管理系统练习
学生管理系统练习
使用ArrayList集合练习.
0.展示.
0.0创建一个学生类.
1.增.
2.删.
3.改.
4.查.
0.展示
System.out.println("\n............................");
System.out.println("\t ~欢迎来到学生管理系统~");
System.out.println("\t\t查看学生\t请按 1 ");
System.out.println("\t\t添加学生\t请按 2 ");
System.out.println("\t\t删除学生\t请按 3 ");
System.out.println("\t\t修改学生\t请按 4 ");
System.out.println("\t\t查询学生\t请按 5 ");
System.out.println("\t\t退出系统\t请按 6 ");
System.out.print("\t请输入您的操作:");
0.0创建一个学生类
分别定义学号,姓名,年龄,家庭住址的属性,
并提供全参,无参构造器
设置get,set方法
class Student {
private String id;//学号
private String name;//姓名
private int age;//年龄
private String homeadd;//家庭住址
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getHomeadd() {
return homeadd;
}
public void setHomeadd(String homeadd) {
this.homeadd = homeadd;
}
public Student(String id, String name, int age, String homeadd) {
this.id = id;
this.name = name;
this.age = age;
this.homeadd = homeadd;
}
public Student() {
}
}
增之前的工作
new Scanner
创建一个Student 类型的数组
并且初始几个学生对象存入集合
Scanner sc = new Scanner(System.in);
ArrayList<Student> als1 = new ArrayList<>();
als1.add(new Student("3701", "张三", 23, "汉庭"));
als1.add(new Student("3702", "李四", 24, "尚客优"));
als1.add(new Student("3703", "王五", 25, "如家"));
als1.add(new Student("3704", "赵六", 27, "7天连锁"));
//1.0增
这里的增是放在while(true){}死循环下的switch循环下的
并且给while循环命名:ABC
给switch命名:abc
System.out.println("请添加 学生的学号(4位数字):");
String s2 = sc.next();
char[] chars = s2.toCharArray();
for (int i = 0; i < chars.length; i++) {
if (s2.length() != 4 || chars[i] < '0' || chars[i] > '9') {
System.out.println("8BQ~ 输入有误~ 请重新选择!这日子没法过了...");
break abc;
}
}
for (int i = 0; i < als1.size(); i++) {
if (als1.get(i).getId().equals(s2)) {
System.out.println("8BQ~ 添加错误~ 该学号已存在!");
break abc;
}
}
System.out.println("请添加 学生的姓名:");
String name = sc.next();
char[] chars1 = name.toCharArray();
for (int i = 0; i < chars1.length; i++) {
if (chars1[i] > 0 && chars1[i] < 128) {
System.out.println("你是来找茬的吧!!!有这样的姓名吗?!?!?!你重新选择吧,这日子没法过了");
break abc;
}
}
System.out.println("请添加 学生的年龄:");
int age = sc.nextInt();
if (age < 1 || age > 100) {
System.out.println("你是来找茬的吧!!!年龄必须在 1 - 100 岁之间!!!你重新选择吧,这日子没法过了");
break abc;
}
System.out.println("请添加 学生的地址:");
String dz = sc.next();
als1.add(new Student(s2, name, age, dz));
System.out.println("~~~添加 成功~~~");
break;
```
//2.0删
```java
System.out.println("请输入要删除 学生的学号(4位数字):");
String s3 = sc.next();
char[] chars3 = s3.toCharArray();
for (int i = 0; i < chars3.length; i++) {
if (s3.length() != 4 || chars3[i] < '0' || chars3[i] > '9') {
System.out.println("8BQ~输入 有误~请重新选择!");
break abc;
}
}
for (int i = 0; i < als1.size(); i++) {
if (als1.get(i).getId().equals(s3)) {
als1.remove(i);
System.out.println("~~~ 删 除 成 功 ~~~");
break abc;
}
}
System.out.println("8BQ了~您输入的学号 不存在!请重新选择!");
break;
3.0改
System.out.println("请输入您要修改的 学号(4位数字):");
String s4 = sc.next();
char[] chars4 = s4.toCharArray();
for (int i = 0; i < chars4.length; i++) {
if (s4.length() != 4 || chars4[i] < '0' || chars4[i] > '9') {
System.out.println("8BQ~输入 有误~请重新选择!!!");
break abc;
}
}
for (int i = 0; i < als1.size(); i++) {
Student s = als1.get(i);
if (s.getId().equals(s4)) {
System.out.println("请输入您要修改后的 姓");
String name1 = sc.next();
char[] chars2 = name1.toCharArray();
for (int j = 0; j < chars2.length; j++) {
if (chars2[i] > 0 && chars2[i] < 128) {
System.out.println("你是来找茬的吧!!!有这样的姓名吗?!?!?!你重新选择吧,这日子没法过了");
break abc;
}
}
s.setName(name1);
System.out.println("请输入您要修改后的 年龄:");
int age4 = sc.nextInt();
if (age4 < 1 || age4 > 100) {
System.out.println("你是来找茬的吧!!!年龄必须在 1 - 100 岁之间!!!你重新选择吧,这日子没法过了");
break abc;
}
s.setAge(age4);
System.out.println("请输入您要修改后的 地址:");
s.setHomeadd(sc.next());
System.out.println("~~~ 修 改 成 功 ~~~");
break;
}
}
System.out.println("sorry~抱歉~未查询到该学生信息");
break;
4.0查看全部信息
这里封装到find方法里:
public static void find(ArrayList<Student> als1) {
System.out.println("学生信息如下:");
System.out.println("学号\t\t姓名\t\t年龄\t\t地址");
for (int i = 0; i < als1.size(); i++) {
Student s = als1.get(i);
System.out.println(s.getId() + "\t" + s.getName() + "\t\t " + s.getAge() + "\t\t" + s.getHomeadd());
}
}
4.0.0按学号条件查询
System.out.println("请输入您要查询的 学号(4位数字):");
String s5 = sc.next();
char[] chars5 = s5.toCharArray();
for (int i = 0; i < chars5.length; i++) {
if (s5.length() != 4 || chars5[i] < '0' || chars5[i] > '9') {
System.out.println("8BQ~输入 有误~请重新选择!!!");
break abc;
}
}
for (int i = 0; i < als1.size(); i++) {
Student s = als1.get(i);
if (s.getId().equals(s5)) {
System.out.println("查询信息如下:");
System.out.println("学号\t\t姓名\t\t年龄\t\t地址");
System.out.println(s.getId() + "\t" + s.getName() + "\t\t " + s.getAge() + "\t\t" + s.getHomeadd());
break abc;
}
}
System.out.println("sorry~抱歉~未查询到该学生信息");
break ;
5.0退出
System.out.println("\n~~~ 欢 迎 您 的 使 用 . 再 见 ~~~");
break ABC;
-----------------------------------------------最后--------------------------------------------
把框架和增删改查放入while(true)死循环里
然后增删改查前键盘录入a,放入switch(a) 里
定义一个默认的条件:
default:
System.out.println("你正常点行不,这日子没法过了\n输入 1 - 6 啊啊啊啊 你就是个憨憨!!!重新来吧你");
最后就写好了~~~~~~