/**
* @Title:StudentMenu
* @author:LJJ
* @version:2.0
* @date:2021/12/10
*/
package com.tomato.www;
import java.util.Scanner;
public class StudentMenu {
public static void main(String[] args) {
zero();
studentmenu();
}
// 定义一个数组
static String[][] stu = new String[10][4];
private static String stunum;
// 初始化数组
private static void zero() {
stu[0] = new String[] { "001", "张三", "21级1班", "软件技术" };
stu[1] = new String[] { "002", "李四", "21级1班", "软件技术" };
stu[2] = new String[] { "003", "王五", "21级1班", "软件技术" };
}
// 显示所有学生信息
private static void showstudent() {
System.out.println("学号" + "\t" + "姓名" + "\t" + "班级" + "\t" + "专业");
for (int i = 0; i < stu.length; i++) {
for (int j = 0; j < stu[i].length; j++) {
if (stu[i][j] != null) {// 如果数组元素不为空,则打印出来
System.out.print(stu[i][j] + "\t");
}
}
// 使用println()方法控制外层循环进行换行
System.out.println("");
}
}
// 选择菜单
private static void studentmenu() {
System.out.println("学生信息管理系统");
System.out.println("---------------------");
System.out.println("1、新增学生信息");
System.out.println("2、删除学生信息");
System.out.println("3、修改学生信息");
System.out.println("4、查询学生信息");
System.out.println("请您输入编号,进行选择");
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
// 选择结构语句switch语句,进行选择
switch (input) {
case "1":
addstudent();
break;
case "2":
deletestudent();
break;
case "3":
editstudent();
break;
case "4":
searchstudent();
break;
default:
System.out.println("您输入的编号错误,请重新输入");
studentmenu();
break;
}
}
// 添加学生信息的菜单
private static void addstudent() {
int rowIndex = selectstudent();
// 输入学生信息
if (rowIndex < 0) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入添加的姓名");
String stuname = scanner.nextLine();
System.out.println("请输入添加的班级");
String stuclass = scanner.nextLine();
System.out.println("请输入添加的专业");
String major = scanner.nextLine();
// 用循环与条件增加信息
for (int i = 0; i < stu.length; i++) {
if (stu[i][0] == null) {
stu[i][0] = stunum;
stu[i][1] = stuname;
stu[i][2] = stuclass;
stu[i][3] = major;
System.out.println("添加成功!!!");
break;
}
}
} else {
System.out.println("学生学号已经存在,请重新输入!");
studentmenu();
}
studentmenu();
}
// 删除学生信息的菜单
private static void deletestudent() {
Scanner scanner = new Scanner(System.in);
int i = selectstudent();
// 如果i>大于-1,代表学号在查询范围之内
if (i > -1) {
System.out.println("请确认是否删除,输入Y/N");
String choice = scanner.nextLine();
if (choice.equals("Y") || choice.equals("y")) {
for (int j = 0; j < stu[i].length; j++) {
stu[i][j] = null;// 令查询的学号学生信息设为空
}
System.out.println("删除成功!");
}
} else {
System.out.println("输入的学号不存在");// 输入的学号不匹配,执行
studentmenu();
}
studentmenu();
}
// 修改学生信息的菜单
private static void editstudent() {
// 定义一个flag为布尔类型的变量
boolean flag = false;
System.out.println("请输入学号");
Scanner scanner = new Scanner(System.in);
String stunum = scanner.nextLine();
// 用循环与条件查找信息
for (int i = 0; i < stu.length; i++) {
if (stu[i][0] != null) {
if (stu[i][0].equals(stunum.trim())) {
flag = true;// 如果为flag=true,代表学号存在,即可修改
System.out.println(stu[i][0] + "\t" + stu[i][1] + "\t" + stu[i][2] + "\t" + stu[i][3]);
editTwo(i);
}
}
}
// 如果为flag=flase,代表学号不存在,即不可修改
if (!flag) {
System.out.println("输入的学号不存在");
studentmenu();
}
}
// 修改学生信息的主菜单
private static void editTwo(int i) {
Scanner scanner = new Scanner(System.in);
System.out.println("1、姓名");
System.out.println("2、班级");
System.out.println("3、专业");
System.out.println("请您输入编号,进行修改");
String editIndex = scanner.nextLine();
// 选择结构语句switch语句,进行选择
switch (editIndex) {
case "1": {
editOne(i, 1);
break;
}
case "2": {
editOne(i, 2);
break;
}
case "3": {
editOne(i, 3);
break;
}
default:
System.out.println("输入的修改编号不存在,请重新输入!");
studentmenu();
break;
}
}
// 修改学生信息菜单中定义rowIndex与columnIndex
private static void editOne(int rowIndex, int columnIndex) {
System.out.println("请输入要修改的内容");
Scanner scanner = new Scanner(System.in);
String editContent = scanner.nextLine();
// 修改学生信息菜单中将输入修改的内容赋值到数组中
stu[rowIndex][columnIndex] = editContent;
System.out.println("修改成功!");
studentmenu();
}
// 查询学生信息菜单
private static void searchstudent() {
int i = selectstudent();
// 如果i>大于-1,代表学号在查询范围之内
if (i > -1) {
System.out.print(stu[i][0] + "\t" + stu[i][1] + "\t" + stu[i][2] + "\t" + stu[i][3] + "\t");
} else {
System.out.println("输入的学号不存在");// 输入的学号不匹配,执行
}
studentmenu();
}
// 输入学生学号查询
private static int selectstudent() {
// 定义rowIndex为-1,代表没有数据
int rowIndex = -1;
System.out.println("请输入学生的学号");
Scanner scanner = new Scanner(System.in);
String stunum = scanner.nextLine();
// 用循环与条件查找信息
for (int i = 0; i < stu.length; i++) {
if (stu[i][0] != null) {
if (stu[i][0].equals(stunum.trim())) {
rowIndex = i;
}
}
}
return rowIndex;
}
}