学生管理系统!!我的练习
已经练了三遍了,第一遍写了仨小时,第二遍写了俩小时,第三遍写了不到俩小时,我的老师让我半个小时写出来,我的天哪,明天再继续练一练!纯属记录我的学习代码,发在这里是因为这里的大佬很多,可以让我受益匪浅,代码有什么问题直说,在这里先谢谢您!
这是main方法的代码......
package studentSYS03;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentTest {
public static void main(String[] args) {
// 不咋会用方法>所以有挺多重复的代码
// 本文没对姓名年龄啥的做判断,可能是不会,也可能是懒癌患者哈哈哈哈毕竟没做过
Scanner sc = new Scanner(System.in);
ArrayList<Student> studentArray = new ArrayList<Student>();
// 初始化 给集合里添加几个学生对象初始化
student(studentArray);
// 初始化 id
int id = 105;
while (true) {
System.out.println("欢迎进入妈见打学生管理系统: ");
System.out.println("1.添加2.删除3.修改4.查找5.退出");
String next = sc.next();
switch (next) {
// 添加
case "1":
addStudent(id++, sc, studentArray);
break;
// 删除
case "2":
removeStudent(sc, studentArray);
break;
// 修改
case "3":
setStudent(sc, studentArray);
break;
// 查找
case "4":
getStudent(studentArray);
break;
// 退出
case "5":
System.out.println("拜拜了您嘞!!");
System.exit(0);
break;
// 否则
default:
System.out.println("你的输入有误,请重新输入!");
}
}
}
private static void student(ArrayList<Student> studentArray) {
Student stu1 = new Student();
stu1.setId(101);
stu1.setName("张三");
stu1.setAge(22);
stu1.setSex("男");
studentArray.add(stu1);
Student stu2 = new Student();
stu2.setId(102);
stu2.setName("李四");
stu2.setAge(23);
stu2.setSex("男");
studentArray.add(stu2);
Student stu3 = new Student();
stu3.setId(103);
stu3.setName("王五");
stu3.setAge(23);
stu3.setSex("女");
studentArray.add(stu3);
Student stu4 = new Student();
stu4.setId(104);
stu4.setName("赵六");
stu4.setAge(24);
stu4.setSex("男");
studentArray.add(stu4);
}
private static void getStudent(ArrayList<Student> studentArray) {
System.out.println("学号\t\t姓名\t\t年龄\t\t性别");
if (studentArray.size() > 0) {
for (int i = 0; i < studentArray.size(); i++) {
Student stu = studentArray.get(i);
System.out.println(stu.getId() + "\t\t" + stu.getName() + "\t\t" + stu.getAge() + "\t\t" + stu.getSex());
}
} else {
System.out.println("【失败】无数据请添加!");
}
}
private static void setStudent(Scanner sc, ArrayList<Student> studentArray) {
System.out.println("请输入你要修改的学生的 学号:");
int id = sc.nextInt();
// 遍历数组
for (int i = 0; i < studentArray.size(); i++) {
Student stu = studentArray.get(i);
// 判断下学生类里的学号 是否等于输入的学号
if (stu.getId() == id) {
// 相等的话 打印出来开头
System.out.println("学号\t\t姓名\t\t年龄\t\t性别");
System.out.println(stu.getId() + "\t\t" + stu.getName() + "\t\t" + stu.getAge() + "\t\t" + stu.getSex());
System.out.println();
System.out.println("请输入新的 姓名输入 0 不修改此选项");
String newName = sc.next();
System.out.println("请输入新的 姓名输入 0 不修改此选项");
int newAge = sc.nextInt();
System.out.println("请输入新的 姓名输入 0 不修改此选项");
String newSex = sc.next();
// 判断是否等于零 等于的话就不修改
if (!("0".equals(newName))) {
// 把新的值在付给对象
stu.setName(newName);
}
if (newAge != 0) {
// 把新的值在付给对象
stu.setAge(newAge);
}
if (!("0".equals(newSex))) {
// 把新的值在付给对象
stu.setSex(newSex);
}
// 提示下成功
System.out.println("【成功】已成功修改!");
// 返回退出方法
return;
}
}
// 提示下找不到
System.out.println("【失败】请重新输入!");
}
private static void removeStudent(Scanner sc, ArrayList<Student> studentArray) {
System.out.println("请输入你要删除的学生的 学号:");
int id = sc.nextInt();
// 遍历集合
for (int i = 0; i < studentArray.size(); i++) {
// 学生类 stu = 集合里的 i 索引位置的元素
Student stu = studentArray.get(i);
// 判断下学生类里的学号 是否等于输入的学号
if (stu.getId() == id) {
// 相等的话 打印出来开头
System.out.println("学号\t\t姓名\t\t年龄\t\t性别");
System.out.println(stu.getId() + "\t\t" + stu.getName() + "\t\t" + stu.getAge() + "\t\t" + stu.getSex());
System.out.println();
System.out.println("确定要删除学号为: " + id + " 的学生吗?y/n");
String rem = sc.next();
// 判断下是否相等 输入的
if ("y".equalsIgnoreCase(rem)) {
studentArray.remove(i);
System.out.println("【成功】已成功删除!");
System.out.println("--------------------------------");
return;
} else {
System.out.println("已返回!!!!");
}
}
}
System.out.println("【失败】请重新输入!");
}
private static void addStudent(int id, Scanner sc, ArrayList<Student> studentArray) {
System.out.println("请输入你要添加学生的 姓名:");
String name = sc.next();
System.out.println("请输入你要添加学生的 年龄:");
int age = sc.nextInt();
System.out.println("请输入你要添加学生的 性别:");
String sex = sc.next();
// 把 收来的信息放进对象里
Student stu = new Student();
stu.setId(id);
stu.setName(name);
stu.setAge(age);
stu.setSex(sex);
// 把对象放在集合里
studentArray.add(stu);
// 返回下成功
if (studentArray.size() > 0) {
System.out.println("【成功】已成功存入!");
System.out.println("--------------------------------");
} else {
System.out.println("【失败】请重新输入!");
}
}
}
这是封装的代码
package studentSYS03;
public class Student {
private int id;
private String name;
private int age;
private String sex;
public int getId() {
return id;
}
public void setId(int 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 getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Student(int id, String name, int age, String sex) {
this.id = id;
this.name = name;
this.age = age;
this.sex = sex;
}
public Student() {
}
}
本帖最后由 lostmilkyway 于 2021-11-15 10:17 编辑
我还以为是B/S的学生管理系统,大一?多背单词多练算法,这个其实意义不大,另外你这个关闭后数据就全部丢失了,你这相当于只写了个前端出来,不考虑一些前后端交互细节处理的话,尝试跟数据库连接下,或者干脆写到本地文件(自己设计个数据库玩玩{:1_905:}) 速度快10分钟可以写完,有些代码可以一键生成,加油 主要管理功能有哪些呢。 很努力,然而我看不懂 加油,非常好。
复制粘贴。快得很。 我刚开始学,感谢大佬,这对我帮助很大 wushaominkk 发表于 2021-11-15 09:09
速度快10分钟可以写完,有些代码可以一键生成,加油
我觉得我已经尽力了,每次敲的时候还要想想该咋写哈哈哈还是敲的少了 Do_zh 发表于 2021-11-15 09:39
复制粘贴。快得很。
这个还是的自己来,毕竟复制粘贴不能让我通过面试