您好,登錄后才能下訂單哦!
通過學習的一系列知識點綜合的小案例,通過控制臺來完成一系列的增刪查改的操作。
準備工作
開發工具IDEA2019.1.4,jdk13
思路
一共三個類,一個接口
存放學生數據用我們學過的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); }
運行截圖
關于管理系統的更多內容請點擊《管理系統專題》進行學習
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。