java面向物件之學生資訊管理系統
阿新 • • 發佈:2020-03-29
通過學習的一系列知識點綜合的小案例,通過控制檯來完成一系列的增刪查改的操作。
準備工作
開發工具IDEA2019.1.4,jdk13
思路
一共三個類,一個介面
- Student類:封裝資料
- StudentManager類:用於管理增刪查改等方法體
- StudentView類:用於主介面的檢視
- StudentInterface介面:用於編寫抽象方法體,用於繼承
存放學生資料用我們學過的ArrayList,由於類是一種引用資料型別,所以我們可以將泛型指代成Student
編寫邏輯
業務層呼叫邏輯層,邏輯層呼叫資料層
知識點
面向物件,ArrayList,泛型,迴圈,迭代,switch
具體程式碼實現
Student.java
package com.zxy.bean; public class Student { private int id; private String name; private int age; private String addr; public Student(){ // 無參構造方法,防止出錯 } public Student(int id,String name,int age,String addr){ this.id=id; this.name=name; this.age=age; this.addr=addr; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getAddr() { return addr; } public void setAddr(String addr) { this.addr = addr; } @Override public String toString() { return "{ID: "+this.id+",name: "+this.name+",age: "+this.age+",addr: "+this.addr+"}"; } }
StudentManager.java
package com.zxy.bean; import java.util.ArrayList; import java.util.Scanner; public class StudentManager implements StudentInterface { @Override public void addStudent(ArrayList<Student> list) { Scanner sc=new Scanner(System.in); System.out.println("請輸入學號:"); int id=sc.nextInt(); System.out.println("請輸入姓名:"); String name=sc.next(); System.out.println("請輸入年齡:"); int age=sc.nextInt(); System.out.println("請輸入地址:"); String addr=sc.next(); list.add(new Student(id,name,age,addr)); System.out.println("新增完成"); } @Override public void delStudent(ArrayList<Student> list) { // 首先刪除之前還是要判斷一下有沒有資訊 Scanner sc=new Scanner(System.in); if (list.size()==0){ // 如果為0,則說明list中沒有學生資訊 System.out.println("沒有學生資訊"); return; } findStudent(list); System.out.println("輸入要刪除的學號:"); // 輸入要刪除的學號 int id=sc.nextInt(); // 判斷要刪除的id是不是在list中 for (int i=0;i<list.size();i++){ if (list.get(i).getId()==id){ Object string = list.remove(i); System.out.println("刪除成功,你刪除的是:"+string); } } } @Override public void findStudent(ArrayList<Student> list) { if (list.size()==0){ System.out.println("沒有學生資訊"); } // 查詢全部學生資訊 for (Student student:list){ System.out.println(student.toString()); System.out.println("資訊已展示"); } return; } @Override public void changeStudent(ArrayList<Student> list) { // 修改學生資訊 Scanner sc=new Scanner(System.in); if (list.size()==0){ System.out.println("當前沒有學生資訊"); return;// 這樣會直接終止當前語句,不會執行下面的語句了 } System.out.println("輸入要修改的學生的學號:"); int id=sc.nextInt(); // 判斷id是否在list中,如果在,就修改 boolean flag=false;// 如果boolean為false,那麼說明沒有在這個人 for (int i=0;i<list.size();i++){ if (list.get(i).getId()==id){ // 如果存在,就輸入新的學號、姓名、年齡、地址 System.out.println("輸入新的學號:"); int idNew=sc.nextInt(); System.out.println("輸入新的姓名:"); String nameNew=sc.next(); System.out.println("輸入新的年齡:"); int ageNew=sc.nextInt(); System.out.println("輸入新的地址:"); String addrNew=sc.next(); list.set(i,new Student(idNew,nameNew,ageNew,addrNew)); System.out.println("修改成功"); return; } } if (flag==false){ System.out.println("沒有找到該學生呢,親"); } } @Override public void findOnlyStudent(ArrayList<Student> list) { Scanner sc=new Scanner(System.in); System.out.println("輸入要查詢的學生id:"); int id=sc.nextInt(); for (Student stu:list){ if (stu.getId()==id){ System.out.println(stu.toString()); }else { System.out.println("你輸入的id不存在"); return; } } } }
StudentView.java
package com.zxy.bean; import java.util.ArrayList; import java.util.Scanner; public class StudentView { public static void main(String[] args) { menu(); } // 封裝一個主選單的方法 public static void menu(){ // 陣列儲存學生資訊,型別使用Student型別 ArrayList<Student> list=new ArrayList<>(); StudentManager stu=new StudentManager(); boolean flag=true; while (flag){ 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("******* 6.退出 *********"); System.out.println("**********************************"); System.out.println("請輸入您要操作的序號: "); // 序號選擇 int choice=new Scanner(System.in).nextInt(); switch (choice){ case 1: // 查詢學生 stu.findStudent(list); break; case 2: // 查詢單個學生 stu.findOnlyStudent(list); break; case 3: // 新增學生 stu.addStudent(list); break; case 4: // 修改學生 stu.changeStudent(list); break; case 5: // 刪除學生 stu.delStudent(list); break; case 6: // 退出程式 flag=false; System.out.println("程式退出成功,歡迎下次使用"); break; } } } }
StudentInterface.java
package com.zxy.bean; import java.util.ArrayList; public interface StudentInterface { void addStudent(ArrayList<Student> list); void delStudent(ArrayList<Student> list); void findStudent(ArrayList<Student> list); void changeStudent(ArrayList<Student> list); void findOnlyStudent(ArrayList<Student> list); }
執行截圖
關於管理系統的更多內容請點選《管理系統專題》進行學習
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。