項目要求
能夠實作以下四種需求:
1、添加學生資訊
2、删除學生資訊
3、修改學生資訊
4、查詢學生資訊
代碼展示
main類:
package com.zzu.test;
import java.util.HashSet;
import java.util.Scanner;
import com.zzu.vo.Student;
public class Main {
private static HashSet<Student> set = new HashSet<Student>();
public static void main(String[] args) {
System.out.println("*********************************");
System.out.println("*\t\t\t\t*");
System.out.println("*\t歡迎使用學生資訊管理系統\t*");
System.out.println("*\t\t\t\t*");
System.out.println("*********************************");
while (true) {
menu();
}
}
static void menu() {
System.out.println("1、添加學生資訊");
System.out.println("2、删除學生資訊");
System.out.println("3、修改學生資訊");//位址傳遞
System.out.println("4、查詢學生資訊");//name
System.out.println("請輸入操作,以Enter鍵結束:");
Scanner scanner = new Scanner(System.in);
int option = scanner.nextInt();
switch (option) {
case 1:{
System.out.println("請輸入學生id");
String id = scanner.next();
System.out.println("請輸入學生name");
String name = scanner.next();
System.out.println("請輸入學生mobile");
String mobile = scanner.next();
System.out.println("請輸入學生address");
String address = scanner.next();
Student student = new Student();
student.setId(id);
if(set.contains(student)) {
System.out.println("該學生學号重複,請重新輸入");
return ;
}
student.setName(name);
student.setMobile(mobile);
student.setAddress(address);
set.add(student);
System.out.println("添加成功");
System.out.println("*****"+set.size());
break;
}
case 2:{
Student student = new Student();
System.out.println("請輸入學生id");
String id = scanner.next();
student.setId(id);
if(set.remove(student)) {//判斷是否删除成功
System.out.println("删除成功");
return;
}
System.out.println("删除失敗");
break;
}
case 3:{
Student student = new Student();
System.out.println("請輸入學生id");
String id = scanner.next();
student.setId(id);
if(!set.contains(student)) {
System.out.println("學号為:"+id+"的學生不存在!修改失敗");
return;
}
for(Student stu : set) {//stu是需要修改學生的位址
if(stu.getId().equals(id)) {
System.out.println("請輸入學生新name");
String name = scanner.next();
System.out.println("請輸入學生新mobile");
String mobile = scanner.next();
System.out.println("請輸入學生新address");
String address = scanner.next();
stu.setName(name);
stu.setMobile(mobile);
stu.setAddress(address);
System.out.println("修改成功");
return;
}
}
break;
}
case 4:{
Student student = new Student();
System.out.println("請輸入學生學号");
String id = scanner.next();
student.setId(id);
if(!set.contains(student)) {
System.out.println("我找到學号為:"+id+"的學生!");
return ;
}
for(Student stu : set) {
if(stu.getId().equals(id)) {
System.out.println(stu);
return;
}
}
break;
}
default:
System.out.println("I'm Sorry,there is not the "+option+" option,please try again.");
}
}
}
Student類:
package com.zzu.vo;
public class Student {
private String id;
private String name;
private String mobile;
private String 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 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 int hashCode() {
// TODO Auto-generated method stub
return id.hashCode();
}
@Override//equals
public boolean equals(Object obj) {//this代表正在試圖儲存的對象;obj是HashSet集合中儲存的資料
if(obj instanceof Student) {
Student stu = (Student)obj;
//return this.id.equals(stu.id);
return stu.id.equals(this.id);
}
return false;
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", mobile=" + mobile + ", address=" + address + "]";
}
}