需求:利用JAVA實作學生資訊系統管理;要求:
①、實作學生資訊的增删改查以及管理系統的退出
②、學生的學号資訊不允許重複。
③、除了退出操作,其他操作完成後重新進入系統主界面
④、删除操作時,若無資料則直接提示,并進入主界面
/*
學生類
*/
public class student {
//成員變量
//學号
private String sid;
//姓名
private String name;
//年齡
private int age;
//居住地
//構造方法
private String address;
public student(){
}
public student(String sid,String name,int age,String address){
this.sid = sid;
this.name = name;
this.age = age;
this.address = address;
}
//get方法
public String getSid(){
return sid;
}
public String getName(){
return name;
}
public String getAddress(){
return this.address;
}
public int getAge(){
return age;
}
//set方法
public void setName(String name){
this.name = name;
}
public void setAge(int age){
this.age = age;
}
public void setSid(String sid){
this.sid = sid;
}
public void setAddress(String address){
this.address = address;
}
}
import java.util.ArrayList;
import java.util.Scanner;
public class studentManagement {
public static void main(String[] args) {
ArrayList<student>array =new ArrayList<>();
while(true){
//首頁面内容
System.out.println("---------歡迎來到學生管理系統--------");
System.out.println("1.添加學生");
System.out.println("2.删除學生");
System.out.println("3.修改學生資訊");
System.out.println("4.檢視所有學生");
System.out.println("5.退出");
System.out.println("請輸入你的選擇");
//輸入需要操作的序号
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();//輸入選擇的操作編号
//根據輸入的編号比對調用對應的方法
switch (number){
case 1: addStudent(array);break;
case 2: removeStudent(array);break;
case 3: setStudent(array);break;
case 4: lookStudent(array);break;
case 5: System.exit(0);
default:
System.out.println("輸入違規");
}
}
}
//添加學生資訊
public static void addStudent(ArrayList<student>array){
student st = new student();
Scanner sc = new Scanner(System.in);
System.out.println("請輸入學生ID");
//判斷所輸入的學生ID是否已存在
String id = sc.nextLine();
for (int i=0;i<array.size();i++){
if (array.get(i).getSid().equals(id)){
System.out.println("輸入的ID已存在,請重新操作");
return;
}
}
System.out.println("請輸入學生姓名");
String name = sc.nextLine();
System.out.println("請輸入學生居住地");
String address = sc.nextLine();
System.out.println("請輸入學生年齡");
int age = sc.nextInt();
//将輸入的資訊傳給對象的成員變量
st.setSid(id);
st.setName(name);
st.setAge(age);
st.setAddress(address);
//将對象存放到集合中
array.add(st);
System.out.println("添加成功");
}
//删除學生資訊
public static void removeStudent(ArrayList<student>array){
//判斷集合中是否有資料,若無資料則退出删除資訊的操作
if (array.size()==0){
System.out.println("無資訊,請先添加資訊再删除");
return;
}
//輸入要删除的學生的ID
System.out.println("請輸入要删除學生的ID");
Scanner sc = new Scanner(System.in);
String id = sc.nextLine();
//循環周遊判斷是否有符合條件的對象,若有則删除該條資訊并退出方法
for (int i=0;i<array.size();i++){
if (array.get(i).getSid().equals(id)){
array.remove(array.get(i));
System.out.println("删除成功");
return;
}
}
//若沒有則提示删除失敗,學生ID不存在
System.out.println("删除失敗,學生ID不存在");
}
//修改學生資訊
public static void setStudent(ArrayList<student>array){
//輸入要修改資訊的學生的ID
System.out.println("請輸入要修改學生的ID");
Scanner sc = new Scanner(System.in);
String id = sc.nextLine();
//循環周遊查找符合修改條件的對象,并修改其資料,并退出方法
for (int i=0;i<array.size();i++){
if (array.get(i).getSid().equals(id)){
System.out.println("請輸入學生姓名");
String name = sc.nextLine();
System.out.println("請輸入學生居住地");
String address = sc.nextLine();
System.out.println("請輸入學生年齡");
int age = sc.nextInt();
array.get(i).setName(name);
array.get(i).setAge(age);
array.get(i).setAddress(address);
System.out.println("修改成功");
return;
}
}
//提示删除失敗,學生ID不存在
System.out.println("學生id不存在");
}
//檢視所有學生資訊
public static void lookStudent(ArrayList<student>array){
//若集合中無元素,則提示無資訊,請先添加資訊再查詢
if (array.size()==0){
System.out.println("無資訊,請先添加資訊再查詢");
//也可以添加一個return;來使方法不再往下執行
}else{
//當集合中有元素,則循環周遊輸出對應資訊
System.out.println("學生ID\t\t\t學生姓名\t\t學生年齡\t\t學生居住地");
for (int i=0;i<array.size();i++){
String id = array.get(i).getSid();
String name = array.get(i).getName();
String address = array.get(i).getAddress();
int age = array.get(i).getAge();
System.out.println(id+"\t\t\t\t"+name+"\t\t\t"+age+"歲\t\t"+address);
}
}
}
}