package com.ha;
import
java.util.*;
public class Main {
public static void main(String[] args) {
Student[] stu = new Student[50];
Scanner input = new Scanner(System.in);
int count = 0;// 记录数组中的有效容量
String userin = "";// 记录一次输入结束后是否继续输入
int mainmenuchoice = 0;// 主菜单选择
while (true) {
System.out.println("1.添加学生信息");
System.out.println("2.修改学生信息");
System.out.println("3.删除学生信息");
System.out.println("4.查询学生信息");
System.out.println("5.显示学生信息");
System.out.println("6.退出学生系统");
System.out.println("请选择操作...");
mainmenuchoice = input.nextInt();
switch (mainmenuchoice) {
case 1:
while (true) {
System.out.println("开始添加学生信息");
stu[count] = new Student();// 因为是对象数组所以需要单独开盘
内存空间
System.out.println("请输入学生编号");
int tempsid = input.nextInt();
stu[count].setSid(tempsid);
System.out.println("请输入学生姓名");
String tempsname = input.next();
stu[count].setSname(tempsname);
System.out.println("请输入学生年龄");
int tempage = input.nextInt();
stu[count].setAge(tempage);
count++;
System.out.println("是否继续输入(y/n)");
userin = input.next();
if (userin.equals("n"))
break;
}
break;
case 2:
System.out.println("开始修改学生信息");
int updateid = 0;
System.out.println("请输入要删除的学生编号");
updateid = input.nextInt();
boolean hasupdate = false;// 标记变量,用来标记是否找到需要修改的学生
int updateindex = 0;// 用来记录需要修改的学生信息在数组中的位置
for (int i = 0; i < count; i++) {
if (stu.getSid() == updateid) {
hasupdate = true;
updateindex = i;
break;
}
}
if (hasupdate) {
System.out.println("学号\t姓名\t年龄");
System.out.println(stu[updateindex]);
System.out.println("您确定要修改该学生的信息吗?(y/n)");
userin = input.next();
if (userin.equals("y")) {// 确认修改
System.out.println("请输入学生编号");
int tempsid = input.nextInt();
stu[updateindex].setSid(tempsid);
System.out.println("请输入学生姓名");
String tempsname = input.next();
stu[updateindex].setSname(tempsname);
System.out.println("请输入学生年龄");
int tempage = input.nextInt();
stu[updateindex].setAge(tempage);
System.out.println("修改成功");
}
} else {
// 3.没找到给用户相应的提示
System.out.println("对不起没有找到您输入的学生信息,请核对后再次输入");
}
break;
case 3:
System.out.println("开始删除学生信息");
// 1.找到需要删除的学生
// 让用户输入要删除的学生的编号,以编号为查找条件进行查找
int delid = 0;
System.out.println("请输入要删除的学生编号");
delid = input.nextInt();
boolean hasdel = false;// 标记变量,用来标记是否找到需要删除的学生
int delindex = 0;// 用来记录需要删除的学生信息在数组中的位置
for (int i = 0; i < count; i++) {
if (stu.getSid() == delid) {
hasdel = true;
delindex = i;
break;
}
}
// 2.找到了删除掉
www.atcpu.com if (hasdel) {
// 显示已经找到的学生信息
System.out.println("学号\t姓名\t年龄");
System.out.println(stu[delindex]);
System.out.println("您确定要删除该学生信息吗?(y/n)");
// 要求用户确认删除操作
userin = input.next();
if (userin.equals("y")) {// 确认删除
for (int i = delindex; i < count - 1; i++) {
stu = stu[i + 1];
}
count--;// 删除了一个数组,有效容量减一
}
} else {
// 3.没找到给用户相应的提示
System.out.println("对不起没有找到您需要删除的学生信息,请核对后再次输入");
}
break;
case 4:
System.out.println("查询学生信息");
int queryid = 0;
System.out.println("请输入要删除的学生编号");
queryid = input.nextInt();
boolean hasquery = false;// 标记变量,用来标记是否找到需要查找的学生
int queryindex = 0;// 用来记录需要查找的学生信息在数组中的位置
for (int i = 0; i < count; i++) {
if (stu.getSid() == queryid) {
hasquery = true;
queryindex = i;
break;
}
}
if (hasquery) {
System.out.println("学号\t姓名\t年龄");
System.out.println(stu[queryindex]);
} else {
// 3.没找到给用户相应的提示
System.out.println("对不起没有找到您输入的学生信息,请核对后再次输入");
}
break;
case 5:
System.out.println("显示所有学生信息");
System.out.println("学号\t姓名\t年龄");
for (int i = 0; i < count; i++) {
System.out.println(stu);
}
break;
case 6:
System.exit(0);// 终止应用程序
break;
default:
System.out.println("对不起,您选择的操作不存在,请看清楚谢谢!!!");
}
}
//属性 方法
package com.ha;
public class Student {
private int sid;
private String sname;
private int age;
public int getSid() {
return sid;
}
public void setSid(int sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String toString(){
return sid + "\t" + sname + "\t" + age;
}
}