Java【案例6-2】 学生管理系统
生活随笔
收集整理的這篇文章主要介紹了
Java【案例6-2】 学生管理系统
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
【案例6-2】 學(xué)生管理系統(tǒng)
【案例介紹】
1.任務(wù)描述
編寫一個程序,模擬學(xué)生管理系統(tǒng)。可以實現(xiàn)對學(xué)生信息的添加、刪除、修改和查詢功能,要求使用List集合存儲自定義的對象集合,并熟練使用List集合的中常用方法實現(xiàn)相關(guān)的操作。
StudentSysTest.java
package com.j2se.myInstances.example6_2;import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Scanner;public class StudentSysTest {public static void main(String[] args) {Scanner sc = new Scanner(System.in);List<Student> list = new ArrayList<>();while (true) {printInfo();switch (sc.nextInt()) {case 1:addStudent(list);break;case 2:deleteStudent(list);break;case 3:updateStudent(list);System.out.println("修改學(xué)生");break;case 4:showStudent(list);break;case 5:System.out.println("退出系統(tǒng)");System.exit(0);break;default:System.out.println("輸入有誤,請重新輸入!");break;}}}private static void updateStudent(List<Student> list) {Scanner sc = new Scanner(System.in);System.out.println("請輸入要刪除的學(xué)生的學(xué)號:");long sno = sc.nextLong();int idx = -1;for (int i = 0; i<list.size(); i++) {Student s = list.get(i);if (s.getSno() == sno) {idx = i;break;}}if (idx != -1) {Student s = new Student();System.out.println("修改姓名:");String name = sc.next();s.setName(name);System.out.println("修改年齡:");int age = sc.nextInt();s.setAge(age);System.out.println("修改地址:");String address = sc.next();s.setAddress(address);list.set(idx, s);System.out.println("修改完成!\n");}else {System.out.println("沒有這號人,請重新操作!\n");}}private static void deleteStudent(List<Student> list) {Scanner sc = new Scanner(System.in);System.out.println("請輸入要刪除的學(xué)生的學(xué)號:");long sno = sc.nextLong();int idx = -1;for (int i=0; i<list.size();i++) {Student stu = list.get(i);if (sno == stu.getSno()) {idx = i;break;}}if (idx != -1) {System.out.println("刪除成功!\n");list.remove(idx);} else {System.out.println("沒有這號人!請重新選擇!");}}private static void showStudent(List<Student> list) {boolean empty = isEmpty(list);if (empty) {System.out.println("暫無數(shù)據(jù),請先添加學(xué)生數(shù)據(jù)。\n");return;} else {for (Student student : list) {System.out.println(student.getSno() + ", " + student.getName() + ", " + student.getAge() + ", " + student.getAddress());}System.out.println();}}private static boolean isEmpty(List<Student> list) {if (list.isEmpty())return true;else return false;}private static void addStudent(List<Student> list) {Student s = new Student();Scanner sc = new Scanner(System.in);long sno;while (true) {System.out.print("學(xué)號:");sno = sc.nextLong();boolean flag = false;for (Student stu : list) {if (sno == stu.getSno()) {flag = true;break;}}if (flag) {System.out.println("學(xué)號重復(fù)了!請重新輸入:");} else {System.out.print("姓名:");String name = sc.next();System.out.print("年齡:");int age = sc.nextInt();System.out.print("地址:");String address = sc.next();s.setSno(sno);s.setName(name);s.setAge(age);s.setAddress(address);list.add(s);System.out.println("添加完成!\n");break;}}}public static void printInfo() {System.out.println("\t學(xué)生信息管理系統(tǒng)\t");System.out.println("1. 添加學(xué)生");System.out.println("2. 刪除學(xué)生");System.out.println("3. 修改學(xué)生");System.out.println("4. 查看學(xué)生");System.out.println("5. 退出系統(tǒng)");System.out.println("請輸入你的選擇:");} }Student.java
package com.j2se.myInstances.example6_2;public class Student {private long sno;private String name;private int age;private String address;public Student() {}public Student(long sno, String name, int age, String address) {this.sno = sno;this.name = name;this.age = age;this.address = address;}public long getSno() {return sno;}public void setSno(long sno) {this.sno = sno;}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 getAddress() {return address;}public void setAddress(String address) {this.address = address;} }總結(jié)
以上是生活随笔為你收集整理的Java【案例6-2】 学生管理系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lilypond 符号_LilyPond
- 下一篇: java信息管理系统总结_java实现科