package practice;
public class Student {
private String name;
private String id;
private String mobile; //四个成员变量
private String address;
public String getMobile() { //get方法可快速获得,右键点击需要添加get和set方法的文件,点击Source,选择Generate Getters and Setters,点击Select All,点击OK
return mobile;
}
public void setMobile(String mobile) { //set方法可快速获得
this.mobile = mobile;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@Override
public String toString() {//toString方法快速获得,右键点击需要添加toString方法的文件,点击Source,选择Generate toString,点击OK
return "Student [name=" + name + ", id=" + id + ", mobile=" + mobile + ", address=" + address + "]";
}
}
package practice;
import java.util.Scanner;
public class Main {
static int index = 0;
static Student[] student=new Student[45];
public static void main(String[] args) {
System.out.println("***********************************");
System.out.println("* 欢迎使用学生管理系统 *");
System.out.println("***********************************");
for( ; ;) {//死循环
menu();
}
}
private static void menu() {
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);
int option = scanner.nextInt();
switch(option) {
case 1:
if(index>student.length-1) {//保证不超过45个学生
System.out.println("已满");
return;
}
System.out.println("添加学生信息");
Student stu = new Student();
System.out.println("请输入姓名:");
String name1=scanner.next();
stu.setName(name1);
System.out.println("请输入学号:");
String id1=scanner.next();
stu.setId(id1);
if(index!=0) {//如果要添加的是数组中的第一个,就没必要比较
for(Student s:student) {
if(s==null) {//如果数组是空的也没必要比较
break;//跳出for循环
}
if(s.getId().equals(stu.getId())) {
System.out.println("学号重复");
return;
}
}
}
System.out.println("请输入手机号:");
String mobile1=scanner.next();
stu.setMobile(mobile1);
System.out.println("请输入地址:");
String address1=scanner.next();
stu.setAddress(address1);
student[index]=stu;
index=index+1;//数组下标下移
System.out.println("添加成功");
return;
case 2:
boolean hasdata=false;//是否查询成功的标志
System.out.println("删除学生信息");
System.out.println("请输入要删除信息的学生学号:");
String studentId=scanner.next();
int i=0;
for(;i<student.length;i++) {
if(student[i]==null) {
break;
}
if(studentId.equals(student[i].getId())) {
hasdata=true;
return;//查询成功后直接结束case4
}
}
if(!hasdata) {
System.out.println("没有查到所要删除的学生");
return;
}
for(;i<student.length;i++) {
if(i==student.length-1) {//如果是最后一个元素
student[i]=null;
break;
}
student[i]=student[i+1];
if(student[i+1]==null) {//如果后一个元素是空的
break;
}
}
System.out.println("删除成功");
index=index-1;//删除一个元素后,数组元素就少了一个
return;
case 3:
boolean havedata=false;//是否查询成功的标志
System.out.println("修改学生信息");
System.out.println("请输入要修改信息的学生学号:");
String sId=scanner.next();
for(Student s:student) {
if(s==null) {//如果数组是空的也没必要比较
break;
}
if(s.getId().equals(sId)) {
System.out.println("查询成功");
System.out.println(s);
havedata=true;//将查询成功标志赋值为真
System.out.println("请选择要修改的类目(1:地址、2:电话号):");
int op=scanner.nextInt();
switch(op) {
case 1:
System.out.println("请输入修改后的地址:");
String sAddress=scanner.next();
s.setAddress(sAddress);//把修改后的地址赋值
System.out.println("修改地址成功");
break;
case 2:
System.out.println("请输入修改后的电话号:");
String sMobile=scanner.next();
s.setMobile(sMobile);
System.out.println("修改手机号成功");
break;
}
}
}
if(!havedata) { //如果查询成功标志为假
System.out.println("没有查到所要修改的学生");
}
return;
case 4:
boolean hdata=false;
System.out.println("查询学生信息");
System.out.println("请输入要查询的学生学号:");
String id=scanner.next();
for(Student s:student) {
if(s==null) {
break;
}
if(s.getId().equals(id)) {
System.out.println("查询成功");
System.out.println(s);
hdata=true;
break;//查询成功后直接结束case4
}
}
if(!hdata) {//如果查询成功标志为假
System.out.println("没有查到学生");
}
return;
default:
System.out.println("输入错误!!");
}
}
}