计科专业学生,大一遇上疫情在家没好好听课,java没学好,大四没有考研准备就从头开始学习,小小的记录一下。
package students;
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 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 getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
package students;
import java.util.ArrayList;
import java.util.Scanner;
public class index {
public static void main(String[] args) {
ArrayList <student> stuList = new ArrayList<>();
//循环主界面
while (true) {
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("请选择功能:");
Scanner sc = new Scanner(System.in);
String choose = sc.next();
//判断输入数字进入对应功能
switch (choose) {
case "1": addstu(stuList);
break;
case "2": delstu(stuList);
break;
case "3": setstu(stuList);
break;
case "4": {
boolean flag = true;
while (flag) {
System.out.println("单独查询请输入1,全部查询请输入2");
String choose1 = sc.next();
switch (choose1) {
case "1":
questu(stuList, 1);
flag = false;
break;
case "2":
questu(stuList, 2);
flag = false;
break;
default:
System.out.println("没有这个选项");
}
}
break;
}
case "5": System.exit(0);//退出系统
default: System.out.println("没有这个选项");
}
}
}
//添加学生信息
public static void addstu(ArrayList<student> stuList){
Scanner sc = new Scanner(System.in);
//可以判断ID是否重复/判断是否需要继续添加 循环输入
while (true) {
student s = new student();
boolean flag1 = true;
boolean flag2 = false;
System.out.println("请输入学生ID:");
String ID = sc.next();
//判断ID是否重复
for (int i = 0; i < stuList.size(); i++) {
student stu = stuList.get(i);
if (ID.equals(stu.getId())){
flag1 = false;
}
}
if (!flag1){
System.out.println("该ID已存在");
}
//ID不重复则添加ID以及其他信息
else {
s.setId(ID);
System.out.println("请输入学生姓名:");
s.setName(sc.next());
System.out.println("请输入学生年龄:");
s.setAge(sc.nextInt());
System.out.println("请输入学生家庭住址:");
s.setAddress(sc.next());
stuList.add(s);
System.out.println("添加完成,是否继续添加?[Y/N]");
//判断是否需要继续添加
while (!flag2) {
String con=sc.next();
if (con.equals("y") || con.equals("Y")){
flag2 = true;
}
else if (con.equals("n") || con.equals("N")){
return;
}
else{
System.out.println("错误,请重新输入是否继续添加[Y/N]");
}
}
}
}
}
public static void delstu(ArrayList<student> stuList){
Scanner sc = new Scanner(System.in);
int index = indexReturn(stuList);
student stu = stuList.get(index);
stuList.remove(index);
System.out.println("已删除该学生信息");
}
//修改学生信息
public static void setstu(ArrayList<student> stuList){
Scanner sc = new Scanner(System.in);
int index = indexReturn(stuList);
student stu = stuList.get(index);
while (true) {
System.out.println("1.修改姓名:");
System.out.println("2.修改年龄:");
System.out.println("3.修改地址:");
String choose = sc.next();
switch (choose){
case "1":
System.out.println("请输入修改后的姓名:");
String name = sc.next();
stu.setName(name);
System.out.println("修改完成");
break;
case "2":
System.out.println("请输入修改后的年龄:");
int age = sc.nextInt();
stu.setAge(age);
System.out.println("修改完成");
break;
case "3":
System.out.println("请输入修改后的地址:");
String add = sc.next();
stu.setAddress(add);
System.out.println("修改完成");
break;
default:System.out.println("没有这个选项");
break;
}
System.out.println("是否继续修改[Y/N]");
boolean flag2 = false;
while (!flag2) {
String con=sc.next();
if (con.equals("y") || con.equals("Y")){
flag2 = true;
}
else if (con.equals("n") || con.equals("N")){
;
}
else{
System.out.println("错误,请重新输入是否继续添加[Y/N]");
}
}
}
}
//查询学生信息
public static void questu(ArrayList<student> stuList,int a){
//判断是否有元素
if (stuList.size() == 0){
System.out.println("请先添加学生!");
return;
}
//有则进行下一步输出
System.out.println("id\t姓名\t年龄\t家庭住址");
//单独学生查询
if (a == 1) {
int index = indexReturn(stuList);
student stu = stuList.get(index);
System.out.println(stu.getId()+"\t"+stu.getName()+"\t"+stu.getAge()+"\t"+stu.getAddress());
}
//遍历全部元素
if (a == 2) {
for (int i = 0; i < stuList.size(); i++) {
student stu = stuList.get(i);
System.out.println(stu.getId()+"\t"+stu.getName()+"\t"+stu.getAge()+"\t"+stu.getAddress());
}
}
}
//根据ID获取索引
public static int indexReturn(ArrayList<student> stuList){
int index;
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生ID");
//未找到则循环
while (true) {
boolean flag = false;
String ID = sc.next();
for (int i = 0; i < stuList.size(); i++) {
student stu = stuList.get(i);
if (ID.equals(stu.getId())){
index = i;
return index;
}
}
System.out.println("未找到当前ID学生,是否继续查找[Y/N]");
while (!flag) {
String con=sc.next();
if (con.equals("y") || con.equals("Y")){
flag = true;
}
else if (con.equals("n") || con.equals("N")){
return 0;
}
else{
System.out.println("错误,请重新输入是否继续添加[Y/N]");
}
}
}
}
}