簡介: 創建一個簡單的學生管理系統,提供添加學生、查看學生、刪除學生、修改學生的功能。同通過兩個類:Student類和StudentManager類實現這些功能。
Student類
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;
}
//使用alt+insert快捷鍵生成構造方法和get/set方法
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;
}
}
StudentManager類
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManager {
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);
String line = sc.nextLine();
switch (line) {
case "1":
System.out.println("添加學生");
addStudent(array);
break;
case "2":
System.out.println("刪除學生");
deleteStudent(array);
break;
case "3":
System.out.println("修改學生");
changeStudent(array);
break;
case "4":
System.out.println("查看所有學生");
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(sid,name,age,address);
/*
*另一種方式使用是s.setxx()語句進行賦值
* s.setSid(sid);
* s.setname(name);
* s.setage(age);
* s,setaddress(address);
*/
//將學生對象添加到集合
array.add(s);
System.out.println("添加成功");
}
//刪除學生
public static void deleteStudent(ArrayList<Student> array){
System.out.println("請輸入要刪除的學生的學號:");
Scanner sc =new Scanner(System.in);
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 findAllStudent(ArrayList<Student> array) {
if(array.size()>0){
System.out.println("學號\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"+s.getAddress());
}
}
else
System.out.println("系統中暫無學生信息");
//另一種實現方式
/*
if(array.size()==0){
System.out.println("系統中暫無學生信息");
return ; //結束當前方法
}
System.out.println("學號\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"+s.getAddress());
}
*/
}
//修改學生
public static void changeStudent(ArrayList<Student> array){
System.out.println("請輸入需要修改的學生學號");
Scanner scanner=new Scanner(System.in);
String sid=scanner.nextLine();
for(int i=0;i<array.size();i++){
if (sid.equals(array.get(i).getSid())){
System.out.println("請輸入學生的姓名:");
String name=scanner.nextLine();
System.out.println("請輸入學生的年齡:");
String age=scanner.nextLine();
System.out.println("請輸入學生的住址:");
String address= scanner.nextLine();
Student s=new Student(sid,name,age,address);
array.set(i,s);
System.out.println("修改成功");
}
}
}
}
在程序中使用了ArrayList類,集合類是一種存儲空間可變的存儲模型。
ArrayList的常用方法如下:
ArrayList<String> array=new ArrayList<>();創建一個名為array的字符串型集合
array.add(element)將element添加到集合array的末尾
array.add(index ,element)將element添加到集合array索引為index的位置
array.remove(Object)從集合array中移除對象
array.remove(index)從集合中移除索引為index的元素
array.set(index ,element)修改指定索引的值,返回被修改的元素
array.get(index)返回指定索引的值
array.size()返回集合中元素的個數
