引包:封装的合理利用
package 项目实战;
public class Student {
private String id;
private String name;
private String mobile;
private String address;
public String getId() {//右键--Source--getters and setters-选择
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", mobile=" + mobile + ", address=" + address + "]";//输出口
}
}
项目主题
package 项目实战;//一个类一个package
import java.util.Scanner;//引包
import org.omg.Messaging.SyncScopeHelper;//输入数据的引包
class Main {
static int index = 0;//用来排序,修饰词需要为static,否则出错
static Student [] students = new Student[45];//规定人数,修饰词需为static,否则出错
public static void main(String[] args) {
for(;;) {//死循环,用来储存以输入的学生信息,防止信息丢失
menu();//调用函数
}
}
private static void menu() {//main方法外
System.out.println("***********************************");
System.out.println("* 欢迎使用学生挂管理系统 *");
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("请输入操作项,点击Enter键");
Scanner scanner = new Scanner(System.in);//Ctrl+Shift+O
int option = scanner.nextInt();//接受境外输入数据 String
switch (option) {
case 1:{//此大括号用来限定name等成员变量得范围
if(index>students.length-1) {
System.out.println("人员已满");
break;//return也可
}
Student student = new Student();//student储存信息
System.out.println("请输入学号,,点击Enter键");
String id = scanner.next();
student.setId(id);
System.out.println("请输入名字,,点击Enter键");
String name= scanner.next();
student.setName(name);
System.out.println("请输入手机号,,点击Enter键");
String mobile = scanner.next();
student.setMobile(mobile);
System.out.println("请输入家庭地址,,点击Enter键");
String address = scanner.next();
student.setAddress(address);
students[index]=student;//添加学生,将其储存
if(index!=0) {//第一个人不必要比较,所以第一个的stu为null
for(Student stu : students) {
if(student==null) {//若无此判断,第一个为null,无论如何都会报错
return;
}
if(student.getId().equals(student.getId())) {//和以输入的比较
System.out.println("学号重复,请检查所输入学号是否有错误");
return;
}
}
}
index=index+1;//位置下移,为存储下一个学生做铺垫
System.out.println("添加成功");
}
break;
case 2:{
/*boolean hasDate=false;
System.out.println("请输入学号,,点击Enter键");
String id = scanner.next();
for(Student student : students) {
if(student==null) {
break;
}
if(student.getId().equals(id)) {
student.setName(" ");
student.setMobile(" ");
student.setAddress(" ");
student.setId(" ");
hasDate=true;
}
}
if(!hasDate) {
System.out.println("没有找到学号为"+id+"的学生");
return;
}
System.out.println("删除成功");
}
break;*/
System.out.println("请输入学号,,点击Enter键");
String id = scanner.next();
boolean hasDate=false;
for(int i=0;i<students.length;i++) {
if(students[i]==null) {
break;
}
if(id.equals(students[i].getId())) {
hasDate=true;
break;
}
}
if(!hasDate) {
System.out.println("没有找到学号为"+id+"的学生");
return;
}
for(int i=0;i<students.length;i++) {
if(i==students.length-1) {//满员时将最后一位元素为null
students[i]=null;
break;
}
students[i]=students[i+1];
if(students[i+1]==null) {
break;
}
}
}
}
case 3:{
boolean hasDate=false;
System.out.println("请输入学号,,点击Enter键");
String id = scanner.next();
for(Student student : students) {
if(student==null) {
break;
}
if(student.getId().equals(id)) {
System.out.println("请输入名字,,点击Enter键");
String name= scanner.next();
student.setName(name);
System.out.println("请输入手机号,,点击Enter键");
String mobile = scanner.next();
student.setMobile(mobile);
System.out.println("请输入家庭地址,,点击Enter键");
String address = scanner.next();
student.setAddress(address);
hasDate=true;
}
}
if(!hasDate) {
System.out.println("没有找到学号为"+id+"的学生");
return;
}
System.out.println("修改成功");
}
break;
case 4:{
boolean hasDate=false;
System.out.println("请输入学号,,点击Enter键");
String id = scanner.next();
for(Student student : students) {
if(student==null) {
System.out.println("查询完毕");
break;
}
else if(student.getId().equals(id)) {
System.out.println(student);
hasDate=true;
}
}
if(!hasDate) {
System.out.println("系统没有该学生信息");
return;
}
}
break;
default:
System.out.println("系统没有找到"+option+"操作项!");
break;
}
}
}