Java09-day09【ArrayList(概述、构造方法、常用方法、遍历)、简易学生管理系统】
- java零基礎入門到精通(2019版)【黑馬程序員】
- 視頻+資料:【鏈接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg? ?提取碼:zjxs】
- “Java基礎”專欄
- Java基礎--學習筆記(零起點打開java世界的大門)--博客匯總表
目? ?錄
134_ArrayList
1.1、集合概述
135_ArrayList構造和添加
1.2、ArrayList構造方法和添加方法
136_ArrayList常用方法
1.3、ArrayList常用方法
136_ArrayList存儲字符串并遍歷
137_ArrayList存儲學生對象并遍歷
138_ArrayList存儲學生對象并遍歷升級版
139_學生管理系統項目演示
1.1、項目演示
140_學生管理系統之學生類
1.2、學生管理系統實現思路
1.3、定義學生類
141_學生管理系統之主界面
1.4、主界面的代碼編寫
142_學生管理系統之添加學生
1.5、添加學生的代碼編寫
143_學生管理系統之查看所有學生
1.6、查看學生的代碼編寫
144_學生管理系統之查看所有學生升級版
1.7、查看學生的代碼編寫升級版
145_學生管理系統之刪除學生
1.8、刪除學生的代碼編寫
146_學生管理系統之修改學生
1.9、修改學生的代碼編寫
147_學生管理系統之學號不存在問題
1.10、解決 刪除/修改 學生 學號不存在問題
148_學生管理系統之學號重復問題
1.11、解決添加學生學號重復問題
簡易學生管理系統
1、實現步驟
1.1、案例需求
1.2、實現步驟
2、代碼匯總
2.1、Student.java
2.2、StudentManager.java
3、運行截圖
134_ArrayList
1.1、集合概述
編程的時候如果要存儲多個數據,
使用長度固定的數組存儲格式,不一定滿足我們的需求,更適應不了變化的需求,那么,此時該如何選擇呢?【集合】
什么是集合?
- 提供一種存儲空間可變的存儲模型,存儲的數據容量可以發生改變。
ArrayList<E>集合的特點:
- 可調整大小的數組實現(底層是數組實現的,長度可以變化)。
- <E>:是一種特殊的數據類型,泛型。
泛型的使用:
- 在出現E的地方,使用引用數據類型替換即可(用于約束集合中存儲元素的數據類型)。
- 舉例:ArrayList<String>、ArrayList<Student>
135_ArrayList構造和添加
1.2、ArrayList構造方法和添加方法
JDK版本:jdk1.8.0_201
136_ArrayList常用方法
1.3、ArrayList常用方法
136_ArrayList存儲字符串并遍歷
137_ArrayList存儲學生對象并遍歷
138_ArrayList存儲學生對象并遍歷升級版
集合:引用類型
?
139_學生管理系統項目演示
1.1、項目演示
140_學生管理系統之學生類
1.2、學生管理系統實現思路
1.3、定義學生類
Alt+Insert? 快捷鍵? ?快速生成“構造方法、getter()方法、setter()方法”
141_學生管理系統之主界面
1.4、主界面的代碼編寫
System.exit(0); // JVM退出
142_學生管理系統之添加學生
1.5、添加學生的代碼編寫
143_學生管理系統之查看所有學生
1.6、查看學生的代碼編寫
144_學生管理系統之查看所有學生升級版
1.7、查看學生的代碼編寫升級版
?
145_學生管理系統之刪除學生
1.8、刪除學生的代碼編寫
146_學生管理系統之修改學生
1.9、修改學生的代碼編寫
147_學生管理系統之學號不存在問題
1.10、解決 刪除/修改 學生 學號不存在問題
148_學生管理系統之學號重復問題
1.11、解決添加學生學號重復問題
簡易學生管理系統
1、實現步驟
1.1、案例需求
針對目前的所學內容,完成一個綜合案例:學生管理系統!該系統主要功能如下:
1.2、實現步驟
1. 定義學生類,包含以下成員變量
2. 學生管理系統主界面的搭建步驟
- 2.1 用輸出語句完成主界面的編寫
- 2.2 用Scanner實現鍵盤輸入
- 2.3 用switch語句完成選擇的功能
- 2.4 用循環完成功能結束后,再次回到主界面
3. 學生管理系統的添加學生功能實現步驟
- 3.1 定義一個方法,接收ArrayList集合
- 3.2 方法內完成添加學生的功能
? ? ? ? ? ? ?①鍵盤錄入學生信息
? ? ? ? ? ? ?②根據錄入的信息創建學生對象
? ? ? ? ? ? ?③將學生對象添加到集合中
? ? ? ? ? ? ?④提示添加成功信息
- 3.3 在添加學生的選項里調用添加學生的方法
4. 學生管理系統的查看學生功能實現步驟
- 4.1 定義一個方法,接收ArrayList集合
- 4.2 方法內遍歷集合,將學生信息進行輸出
- 4.3 在查看所有學生選項里調用查看學生方法
5. 學生管理系統的刪除學生功能實現步驟
- 5.1 定義一個方法,接收ArrayList集合
- 5.2 方法中接收要刪除學生的學號
- 5.3 遍歷集合,獲取每個學生對象
- 5.4 使用學生對象的學號和錄入的要刪除的學號進行比較,如果相同,則將當前學生對象從集合中刪除
- 5.5 在刪除學生選項里調用刪除學生的方法
6. 學生管理系統的修改學生功能實現步驟
- 6.1 定義一個方法,接收ArrayList集合
- 6.2 方法中接收要修改學生的學號
- 6.3 通過鍵盤錄入學生對象所需的信息,并創建對象
- 6.4 遍歷集合,獲取每一個學生對象。并和錄入的修改學生學號進行比較,如果相同,則使用新學生對象替換當前學生對象
- 6.5 在修改學生選項里調用修改學生的方法
7. 退出系統
- 使用System.exit(0); // 退出JVM
2、代碼匯總
2.1、Student.java
package com.itheima;/*學生類Alt+Insert 根據自己的需要進行選擇*/ public class Student {//學號private String sid;//姓名private String name;//年齡private String age;//居住地private String address;public Student() {}public Student(String sid, String name, String age, String address) {this.sid = sid;this.name = name;this.age = age;this.address = address;}public String getSid() {return sid;}public void setSid(String sid) {this.sid = sid;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;} }2.2、StudentManager.java
package com.itheima;import java.util.ArrayList; import java.util.Scanner;/*學生管理系統*/ public class StudentManager {public static void main(String[] args) {//創建集合對象,用于存儲學生數據ArrayList<Student> array = new ArrayList<Student>();//用循環完成再次回到主界面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實現鍵盤錄入數據Scanner sc = new Scanner(System.in);String line = sc.nextLine();//用switch語句完成操作的選擇switch (line) {case "1":addStudent(array);break;case "2":deleteStudent(array);break;case "3": // System.out.println("修改學生");updateStudent(array);break;case "4":findAllStudent(array);break;case "5":System.out.println("謝謝使用");System.exit(0); // JVM退出}}}//定義一個方法,用于添加學生信息/*public static void addStudent(ArrayList<Student> array) {//鍵盤錄入學生對象所需要的數據,顯示提示信息,提示要輸入何種信息Scanner sc = new Scanner(System.in);System.out.println("請輸入學生學號:");String sid = sc.nextLine();System.out.println("請輸入學生姓名:");String name = sc.nextLine();System.out.println("請輸入學生年齡:");String age = sc.nextLine();System.out.println("請輸入學生居住地:");String address = sc.nextLine();//創建學生對象,把鍵盤錄入的數據賦值給學生對象的成員變量Student s = new Student();s.setSid(sid);s.setName(name);s.setAge(age);s.setAddress(address);//將學生對象添加到集合中array.add(s);//給出添加成功提示System.out.println("添加學生成功");}*/public static void addStudent(ArrayList<Student> array) {//鍵盤錄入學生對象所需要的數據,顯示提示信息,提示要輸入何種信息Scanner sc = new Scanner(System.in);//為了讓sid在while循環外面被訪問到,我們就把它定義在了循環外String sid;//為了讓程序能夠回到這里,我們使用循環實現while (true) {System.out.println("請輸入學生學號:");sid = sc.nextLine();boolean flag = isUsed(array, sid);if (flag) {System.out.println("你輸入的學號已經被使用,請重新輸入");} else {break;}}System.out.println("請輸入學生姓名:");String name = sc.nextLine();System.out.println("請輸入學生年齡:");String age = sc.nextLine();System.out.println("請輸入學生居住地:");String address = sc.nextLine();//創建學生對象,把鍵盤錄入的數據賦值給學生對象的成員變量Student s = new Student();s.setSid(sid);s.setName(name);s.setAge(age);s.setAddress(address);//將學生對象添加到集合中array.add(s);//給出添加成功提示System.out.println("添加學生成功");}//定義一個方法,判斷學號是否被使用public static boolean isUsed(ArrayList<Student> array, String sid) {//如果與集合中的某一個學生學號相同,返回true;如果都不相同,返回falseboolean flag = false;for(int i=0; i<array.size(); i++) {Student s = array.get(i);if(s.getSid().equals(sid)) {flag = true;break;}}return flag;}//定義一個方法,用于查看學生信息/*public static void findAllStudent(ArrayList<Student> array) {//顯示表頭信息//\t 其實就是tab鍵的位置System.out.println("學號\t\t\t姓名\t\t年齡\t\t居住地");//將集合中數據取出按照對應格式顯示學生信息,年齡顯示補充“歲”for (int i = 0; i < array.size(); i++) {Student s = array.get(i);System.out.println(s.getSid() + "\t" + s.getName() + "\t" + s.getAge() + "歲\t\t" + s.getAddress());}}*/public static void findAllStudent(ArrayList<Student> array) {//判斷集合中是否有數據,如果沒有顯示提示信息if (array.size() == 0) {System.out.println("無信息,請先添加信息再查詢");//為了讓程序不在往下執行,給出return;return;}//顯示表頭信息//\t 其實就是tab鍵的位置System.out.println("學號\t\t\t姓名\t\t年齡\t\t居住地");//將集合中數據取出按照對應格式顯示學生信息,年齡顯示補充“歲”for (int i = 0; i < array.size(); i++) {Student s = array.get(i);System.out.println(s.getSid() + "\t" + s.getName() + "\t" + s.getAge() + "歲\t\t" + s.getAddress());}}//定義一個方法,用于刪除學生信息/*public static void deleteStudent(ArrayList<Student> array) {//鍵盤錄入要刪除的學生學號,顯示提示信息Scanner sc = new Scanner(System.in);System.out.println("請輸入你要刪除的學生的學號:");String sid = sc.nextLine();//遍歷集合將對應學生對象從集合中刪除for(int i=0; i<array.size(); i++) {Student s = array.get(i);if(s.getSid().equals(sid)) {array.remove(i);break;}}//給出刪除成功提示System.out.println("刪除學生成功");}*/public static void deleteStudent(ArrayList<Student> array) {//鍵盤錄入要刪除的學生學號,顯示提示信息Scanner sc = new Scanner(System.in);System.out.println("請輸入你要刪除的學生的學號:");String sid = sc.nextLine();//在刪除/修改學生操作前,對學號是否存在進行判斷//如果不存在,顯示提示信息//如果存在,執行刪除/修改操作int index = -1;for (int i = 0; i < array.size(); i++) {Student s = array.get(i);if (s.getSid().equals(sid)) { // int index = i;index = i;break;}}if (index == -1) {System.out.println("該信息不存在,請重新輸入");} else {array.remove(index);//給出刪除成功提示System.out.println("刪除學生成功");}}//定義一個方法,用于修改學生信息public static void updateStudent(ArrayList<Student> array) {//鍵盤錄入要修改的學生學號,顯示提示信息Scanner sc = new Scanner(System.in);System.out.println("請輸入你要修改的學生的學號:");String sid = sc.nextLine();//鍵盤錄入要修改的學生信息System.out.println("請輸入學生新姓名:");String name = sc.nextLine();System.out.println("請輸入學生新年齡:");String age = sc.nextLine();System.out.println("請輸入學生新居住地:");String address = sc.nextLine();//創建學生對象Student s = new Student();s.setSid(sid);s.setName(name);s.setAge(age);s.setAddress(address);//遍歷集合修改對應的學生信息for (int i = 0; i < array.size(); i++) {Student student = array.get(i);if (student.getSid().equals(sid)) {array.set(i, s);break;}}//給出修改成功提示System.out.println("修改學生成功");} }3、運行截圖
總結
以上是生活随笔為你收集整理的Java09-day09【ArrayList(概述、构造方法、常用方法、遍历)、简易学生管理系统】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java08-day08【API(概述、
- 下一篇: 【已完结!】Java基础--学习笔记(零