1.步驟:jvm
A:定義一個學生類:this
public class Student {
//學生類屬性
private String id;
private String name;
private String age;
private String address;
//學生類方法
public Student() {
}
public Student(String id, String name, String age, String address) {
this.id = id;
this.name = name;
this.age = age;
this.address = address;
}
//getXxx(),setXxx()方法
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
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;
}
}spa
B:學生類的test:對象
public class StudentTest {
public static void main(String[] args) {
//建立一個學生集合用來管理學生信息
ArrayList<Student> arrst=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 sc=new Scanner(System.in);
String number = sc.nextLine();
//經過switch循環來實現選擇的具體操做
switch(number) {
case "1":
findStudent(arrst) ;
break;
case "2":
addStudent(arrst);
break;
case "3":
remoteStudent(arrst);
break;
case "4":
updateStudent(arrst);
break;
case "5":
//退出
default:
System.out.println("退出成功,謝謝使用!");
//jvm非異常退出
System.exit(0);
break;
}
}
}
//查看學生信息方法
public static void findStudent(ArrayList<Student> arrst) {
if(arrst.size()==0) {
System.out.println("對不起,沒有學生信息能夠訪問");
return;
}
System.out.println("學號\t姓名\t年齡\t住址");
for(int x=0;x<arrst.size();x++) {
Student s=arrst.get(x);
System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getAddress());
}
}
//添加學生信息
public static void addStudent(ArrayList<Student> arrst) {
//建立鍵盤錄入對象
Scanner sc=new Scanner(System.in);
String id;
while(true) {
System.out.println("請輸入學生id:");
id=sc.nextLine();
//判斷輸入的id是否已存在
boolean flag=false;//定義一個標記
for(int x=0;x<arrst.size();x++) {
Student s=arrst.get(x);
//將輸入的學號與存儲的學號進行驗證
if(s.getId().equals(id)) {
//學號被佔用
flag=true;
break;
}
}
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.setId(id);
s.setName(name);
s.setAge(age);
s.setAddress(address);
arrst.add(s);
System.out.println("添加成功!");
}
//刪除學生信息
public static void remoteStudent(ArrayList<Student> arrst) {
//鍵盤出入要刪除的學號
Scanner sc=new Scanner(System.in);
System.out.println("請輸入要刪除的學號:");
String id = sc.nextLine();
int i=-1;
//用循環來遍歷集合,找到該學號
for(int x=0;x<arrst.size();x++) {
Student s = arrst.get(x);
if(s.getId().equals(id)) {
i=x;
break;
}
}
if(i==-1) {
System.out.println("找不到該學號,請從新輸入:");
}else {
arrst.remove(i);
System.out.println("刪除成功!");
}
}
//修改學生信息
public static void updateStudent(ArrayList<Student> arrst) {
//鍵盤出入要修改的學號
Scanner sc=new Scanner(System.in);
System.out.println("請輸入要修改的學號:");
String id = sc.nextLine();
//定義一個變量
int i=-1;
//遍歷學生集合,找到該學號
for(int x=0;x<arrst.size();x++) {
Student s = arrst.get(x);
if(s.getId().equals(id)) {
i=x;
break;
}
}
if(i==-1) {
System.out.println("找不到該學號,請從新輸入:");
}else {
//System.out.println("請輸入新的學號");
//String id=sc.nextLine();
System.out.println("請輸入新的姓名:");
String name=sc.nextLine();
System.out.println("請輸入新的年齡:");
String age=sc.nextLine();
System.out.println("請輸入新的住址:");
String address=sc.nextLine();
//將輸入的數據賦值給新的學生對象
Student st=new Student();
st.setId(id);
st.setName(name);
st.setAge(age);
st.setAddress(address);
//根據id替換學生集合中的原有數據
arrst.set(i, st);
System.out.println("修改爲功!");
}
}
}rem