python
編輯 菜單和其他的方法有什麼區別
創建一個學生信息管理系統,學生信息包括:學號,姓名,年齡,性別,出生年月,地址,電話,E-mail
功能:1.系統以菜單方式工作 2.學生信息錄入功能(文件) 3.學生信息浏覽 4.查詢排序功能 1)學號排序 2)姓名排序
public class Student {
//學生信息包括有(學生學號、姓名、性別、手機號碼
private int id;
private String name;
private String sex;
private String phone;
public Student() {
}
public Student(int id, String name, String sex, String phone) {
this.id = id;
this.name = name;
this.sex = sex;
this.phone = phone;
}
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 String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Override
public String toString() {
return "學號:" + id + "\t 姓名:" + name + "\t 性別:" + sex + "\t 電話:" + phone ;
}
}
import java.util.Scanner;
/*
編寫一個學生信息管理系統:學生信息包括有(學生學號、姓名、性別、手機號碼),系統以學生對象數組的方式存儲學生信息
(初始數組為10個元素,每當數組存儲滿時,需要進行擴容,擴容規則可以為翻倍也可以固定增長)
系統對學生的操作包括:新增、查詢、修改、刪除。
大概流程如下:
請選擇操作:退出請輸入bye
1.新增
2.查詢
3.修改
4.刪除
輸入:1
請輸入:學生學號,姓名,性別,手機號碼
輸入:學生學號,姓名,性別,手機號碼
新增完成,請繼續操作!
請選擇操作:退出請輸入bye
1.新增
2.查詢
3.修改
4.刪除
輸入:2
請輸入學生的姓名
錢鐘書
查詢學生:
學生學號,姓名,性別,手機號碼
查詢完畢,請繼續操作!
請選擇操作:退出請輸入bye
1.新增
2.查詢
3.修改
4.刪除
輸入:3
請輸入要修改的學生學號:
10000
學生不存在,請繼續操作!
請選擇操作:退出請輸入bye
1.新增
2.查詢
3.修改
4.刪除
輸入4
請輸入學生學號
刪除成功
// 創建類對象,通過類對象調用非靜態的方法 StudentManage sm = new StudentManage(); // 初始化部分數據 sm.initStudent(); // 菜單 while (true) { String select = sm.menu(); switch (select) { case "1": sm.addStudent();// 新增 break; case "2": sm.queryStudent();// 查找 break; case "3": sm.modify();// 修改 break; case "4": sm.deleteStudent();// 刪除 break; case "bye": System.out.println("謝謝您的使用");// 退出 return; default: System.out.println("功能未開放"); break; } }
} // 修改學生信息 Scanner sc = new Scanner(System.in); // 從數組中找到引用值不為null的空間,存在學號,則修改, 若 學生不存在,請繼續操作! System.out.println("請輸入要修改的學生學號"); int id = sc.nextInt(); boolean b = true; for (int i = 0; i < students.length; i++) { if (students[i] != null && students[i].getId() == id) { System.out.println(students[i]);// 存在學號,先輸出該學號的學生信息,然後修改 b = true; // 學號不修改 System.out.println("請輸入要修改的學生姓名:"); String name = sc.next(); students[i].setName(name); System.out.println("請輸入要修改的學生性別:"); String sex = sc.next(); students[i].setSex(sex); System.out.println("請輸入要修改的手機號碼:"); String phone = sc.next(); students[i].setPhone(phone); System.out.println("修改完成"); break; } else { b = false; } } // 學生不存在 if (b == false) { System.out.println("修改失敗!沒有找到要修改的學生信息!!"); }
} while(true) { Scanner sc=new Scanner(System.in); System.out.println("1.按照學生姓名查找"); System.out.println("2. 總覽學生 "); System.out.println("3. 返回 "); System.out.println("請選擇對應的操作:"); int select=sc.nextInt(); //按照姓名查找 if(select==1) { System.out.println("請輸入學生的姓名:"); String name=sc.next(); //返回的下標值,根據下標,輸出要找的某一個學生信息 int index=queryByName(name); if(index!=-1) { System.out.println("找到了該學生信息:"); System.out.println(students[index]); }else{ System.out.println("沒有找到該姓名的學生信息"); } //總覽 }else if(select==2) { queryByAll(); }else if(select==3) { //結束查找方法,跳出循環 break; } }
} for (int i = 0; i < students.length; i++) { if(students[i]!=null) { System.out.println(students[i]); } }
} //存在要查找的學生姓名,輸出該學生的信息,不存在,提示沒有要查找的學生信息 for (int i = 0; i < students.length; i++) { if(students[i]!=null && students[i].getName().equals(name)) { return i;//找到了就返回下標 } } return -1;
} Scanner sc=new Scanner(System.in); System.out.println("請輸入要刪除的學生學號:"); int id=sc.nextInt(); //查找到學號,從數組中刪除學生,沒查找到,輸出沒有該學生信息 boolean b=true; for (int i = 0; i < students.length; i++) { //從數組頭開始找,一個引用值不為null的空間 if(students[i]!=null && students[i].getId()==id) { System.out.println(students[i]); b=true;//找到學生的id students[i]=null; System.out.println("刪除成功!"); break;//刪除後要跳出循環 }else{ b=false; } } //沒有找到學生的id if(b==false) { System.out.println("刪除失敗,沒有找到要刪除的學生信息!");}
} Scanner sc=new Scanner(System.in); //輸入要添加的學生信息 System.out.println("請輸入要新增的學生學號:"); int id=sc.nextInt(); //保證學生的學號是唯一的,如果已存在,則不能新增 for (int i = 0; i < students.length; i++) { if(students[i]!=null && students[i].getId()==id) { System.out.println("該學生已存在,不能新增!"); return; } } System.out.println("請輸入要新增的學生姓名:"); String name=sc.next(); //保證了數組中 學生的姓名是唯一的 //如果數組中已經有了要添加的學生姓名,則不能添加 int index=queryByName(name); if(index!=-1) { System.out.println("該學生已存在,不能新增!"); return; } System.out.println("請輸入要新增的學生性別:"); String sex=sc.next(); System.out.println("請輸入要新增的學生手機號碼:"); String phone=sc.next(); //將信息添加到學生對象數組中 //從數組頭開始找,直到找到一個引用值 為null的空間,添加學生信息 boolean isFull=true; for (int i = 0; i
} //菜單 System.out.println("請選擇操作:退出請輸入bye"); System.out.println("1.新增學生信息"); System.out.println("2.查詢學生信息"); System.out.println("3.修改學生信息"); System.out.println("4.刪除學生信息"); Scanner sc=new Scanner(System.in); String select=sc.next(); return select;
} students[0]=new Student(101,"張三","男","15566668888"); students[1]=new Student(102,"李四","男","14455557777"); students[2]=new Student(103,"王二","男","12233336666");
}