java控制臺實現(xiàn)學(xué)生信息管理系統(tǒng)
簡介
最近學(xué)了java基礎(chǔ)后對以前不會寫的作業(yè)深有感觸,想起以前各種在網(wǎng)上找資料找別人的代碼參考,所以今天特地寫了了簡單的基于控制臺的學(xué)生信息管理系統(tǒng)供還在學(xué)基礎(chǔ)的同學(xué)參考,寫的有問題的地方也希望能指出來,好了,下面開始進(jìn)入正題。
環(huán)境
我使用的是idea編譯器和1.8的jdk版本,有使用1.7以下jdk版本的同學(xué)運行會報錯,解決方法是把ArrayLis<Student> arrayList=new Array<>();改成 ArrayLis<Student> arrayList=new Array<Student>(),下面開始講解學(xué)生信息管理系統(tǒng)的實現(xiàn)過程。
系統(tǒng)分析
學(xué)生信息管理系統(tǒng)主要是實現(xiàn)讓老師登入賬號(賬號和密碼我設(shè)置的都是“123”,你們也可以改成其他的字符串)后可以對學(xué)生進(jìn)行增刪改查的操作和查看所有學(xué)生的信息,所以我各自定義了一個方法來實現(xiàn)它的功能。
代碼實現(xiàn)
首先定義一個學(xué)生類Student.java,關(guān)于toString是重寫了父類也就是Object的方法,是用于方便查看結(jié)果的,學(xué)生的屬性可以按需求添加多個,這里我為了方便只寫了四個。
public class Student {
? ? //學(xué)號
? ? private int ?sno;
? ? //姓名
? ? private String ?name;
? ? //性別
? ? private String xes;
? ? //年齡
? ? private int age;
//創(chuàng)建get/set方法
? ? public int getSno() {
? ? ? ? return sno;
? ? }
?
? ? public void setSno(int sno) {
? ? ? ? this.sno = sno;
? ? }
?
? ? public String getName() {
? ? ? ? return name;
? ? }
?
? ? public void setName(String name) {
? ? ? ? this.name = name;
? ? }
?
? ? public String getXes() {
? ? ? ? return xes;
? ? }
?
? ? public void setXes(String xes) {
? ? ? ? this.xes = xes;
? ? }
?
? ? public int getAge() {
? ? ? ? return age;
? ? }
?
? ? public void setAge(int age) {
? ? ? ? this.age = age;
? ? }
//重寫toString方法方便打印
? ? @Override
? ? public String toString() {
? ? ? ? return "Student{" +
? ? ? ? ? ? ? ? "sno=" + sno +
? ? ? ? ? ? ? ? ", name='" + name + '\'' +
? ? ? ? ? ? ? ? ", xes='" + xes + '\'' +
? ? ? ? ? ? ? ? ", age=" + age +
? ? ? ? ? ? ? ? '}';
? ? }
}然后定義一個結(jié)構(gòu)類Structure.java,把需要實現(xiàn)的功能方法寫出來。
import java.util.ArrayList;
import java.util.Scanner;
?
/**
?* 老師進(jìn)行登錄操作后(老師的賬號密碼固定為123)
?* 才能對學(xué)生進(jìn)行增刪改查
?*/
public class Structure {
? ? //用來給學(xué)生學(xué)號賦值自增
? ? static int i=1;
? ? //創(chuàng)建ArrayList集合對象用來存放學(xué)生對象
? ? ArrayList<Student> arrayList=new ArrayList<>();
? ? Scanner scanner=new Scanner(System.in);
? ? public void enter(){
? ? ? ? System.out.print("請輸入用戶名:");
? ? ? ? if (scanner.next().equals("123")){
? ? ? ? ? ? System.out.print("請輸入密碼:");
? ? ? ? ? ? if (scanner.next().equals("123")){
? ? ? ? ? ? ? ? System.out.println("登錄成功!");
? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? System.out.println("密碼錯誤!請重新登入");
? ? ? ? ? ? ? ? enter();
? ? ? ? ? ? }
? ? ? ? }else {
? ? ? ? ? ? System.out.println("用戶名錯誤!請重新登入");
? ? ? ? ? ? enter();
? ? ? ? }
? ? }
? ? //增加學(xué)生信息
? ? public void add(){
? ? ? ? //創(chuàng)建學(xué)生對象
? ? ? ? Student student=new Student();
? ? ? ? //System.out.print("學(xué)生ID自增");
? ? ? ? student.setSno(i);
? ? ? ? System.out.print("學(xué)生姓名:");
? ? ? ? student.setName(scanner.next());
? ? ? ? System.out.print("性別:");
? ? ? ? student.setXes(scanner.next());
? ? ? ? System.out.print("年齡:");
? ? ? ? student.setAge(scanner.nextInt());
? ? ? ? //把學(xué)生對象存入集合中
? ? ? ? arrayList.add(student);
? ? ? ? i++;
? ? }
? ? //查看所有學(xué)生信息
? ? public void print(){
? ? ? ? if (arrayList.size()==0){
? ? ? ? ? ? System.out.println("沒有學(xué)生!?。?);
? ? ? ? }else {
? ? ? ? ? ? //使用增強for循環(huán)遍歷集合
? ? ? ? ? ? for (Student student:arrayList){
? ? ? ? ? ? ? ? System.out.println(student.toString());
? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? //通過學(xué)號查找指定的學(xué)生信息
? ? public void inquiry(){
? ? ? ? if (arrayList.size()==0){
? ? ? ? ? ? System.out.println("沒有學(xué)生?。?!");
? ? ? ? }else {
? ? ? ? ? ? System.out.print("請輸入想要查找的學(xué)生的學(xué)號:");
? ? ? ? ? ? for (Student student:arrayList){
? ? ? ? ? ? ? ? if (student.getSno()==scanner.nextInt()){
? ? ? ? ? ? ? ? ? ? System.out.println(student.toString());
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? //刪除指定學(xué)生的信息
? ? public void delete(){
? ? ? ? if (arrayList.size()==0){
? ? ? ? ? ? System.out.println("沒有學(xué)生!??!");
? ? ? ? }else {
? ? ? ? ? ? System.out.print("請輸入想要刪除的學(xué)生的學(xué)號:");
? ? ? ? ? ? for (int i=0;i<=arrayList.size();i++){
? ? ? ? ? ? ? ? if (arrayList.get(i).getSno()==scanner.nextInt()){
? ? ? ? ? ? ? ? ? ? arrayList.remove(i);
? ? ? ? ? ? ? ? ? ? System.out.println("刪除成功!");
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? //修改指定學(xué)生的信息
? ? public void revisesp(){
? ? ? ? if (arrayList.size()==0){
? ? ? ? ? ? System.out.println("沒有學(xué)生?。?!");
? ? ? ? }else {
? ? ? ? ? ? System.out.print("請輸入想要修改的學(xué)生的學(xué)號:");
? ? ? ? ? ? for (Student student:arrayList){
? ? ? ? ? ? ? ? if (student.getSno()==scanner.nextInt()){
? ? ? ? ? ? ? ? ? ? revisesp01(student);
? ? ? ? ? ? ? ? ? ? System.out.println("修改成功!");
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? public void revisesp01(Student student) {
? ? ? ? System.out.println("請根據(jù)序號選擇指令");
? ? ? ? System.out.println("1.修改姓名");
? ? ? ? System.out.println("2.修改性別");
? ? ? ? System.out.println("2.修改年齡");
? ? ? ? switch (scanner.nextInt()){
? ? ? ? ? ? case 1:
? ? ? ? ? ? ? ? student.setName(scanner.next());
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 2:
? ? ? ? ? ? ? ? student.setXes(scanner.next());
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 3:
? ? ? ? ? ? ? ? student.setAge(scanner.nextInt());
? ? ? ? ? ? ? ? break;
? ? ? ? }
? ? }
}最后創(chuàng)建一個測試類Test.java用來測試功能的實現(xiàn)
import java.util.Scanner;
?
public class Test {
? ? Structure structure=new Structure();
? ? static Scanner scanner=new Scanner(System.in);
? ? public static void main(String[] args) {
? ? ? ? Test test=new Test();
? ? ? ? test.a();
? ? }
? ? public void a(){
? ? ? ? System.out.println("老師登錄(賬號密碼固定123/123)");
? ? ? ? structure.enter();
? ? ? ? while (true){
? ? ? ? ? ? print();
? ? ? ? ? ? switch (scanner.nextInt()){
? ? ? ? ? ? ? ? case 1:
? ? ? ? ? ? ? ? ? ? structure.add();
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 2:
? ? ? ? ? ? ? ? ? ? structure.print();
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 3:
? ? ? ? ? ? ? ? ? ? structure.inquiry();
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 4:
? ? ? ? ? ? ? ? ? ? structure.delete();
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 5:
? ? ? ? ? ? ? ? ? ? structure.revisesp();
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 0:
? ? ? ? ? ? ? ? ? ? return;
? ? ? ? ? ? ? ? default:
? ? ? ? ? ? ? ? ? ? System.out.println("請輸入正確的指令!");
? ? ? ? ? ? }
?
? ? ? ? }
? ? }
?
? ? public void print(){
? ? ? ? System.out.println("根據(jù)指令選擇操作:");
? ? ? ? System.out.println("1. 添加學(xué)生信息");
? ? ? ? System.out.println("2. 學(xué)生信息列表");
? ? ? ? System.out.println("3. 查詢指定學(xué)號的學(xué)生信息");
? ? ? ? System.out.println("4. 根據(jù)學(xué)號刪除指定學(xué)生信息");
? ? ? ? System.out.println("5. 請輸入想要修改的學(xué)生的學(xué)號");
? ? ? ? System.out.println("0.退出");
? ? }
}最后我們就順利的完成了一個簡單的學(xué)生管理系統(tǒng),能獨立完成這個對我們鞏固基礎(chǔ)知識是能起到一定的幫助的。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot 實現(xiàn)定時任務(wù)的方法詳解
這篇文章主要介紹了SpringBoot 實現(xiàn)定時任務(wù)的方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08
詳解java WebSocket的實現(xiàn)以及Spring WebSocket
這篇文章主要介紹了詳解java WebSocket的實現(xiàn)以及Spring WebSocket ,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-01-01
mybatis中關(guān)于mapper的使用以及注意事項
這篇文章主要介紹了mybatis中關(guān)于mapper的使用以及注意事項,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06

