亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java面向?qū)ο笾畬W(xué)生信息管理系統(tǒng)

 更新時(shí)間:2020年03月27日 10:37:47   作者:喜歡夜雨嗎  
這篇文章主要為大家詳細(xì)介紹了java面向?qū)ο笾畬W(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

通過(guò)學(xué)習(xí)的一系列知識(shí)點(diǎn)綜合的小案例,通過(guò)控制臺(tái)來(lái)完成一系列的增刪查改的操作。

準(zhǔn)備工作

開(kāi)發(fā)工具IDEA2019.1.4,jdk13

思路

一共三個(gè)類,一個(gè)接口

  • Student類:封裝數(shù)據(jù)
  • StudentManager類:用于管理增刪查改等方法體
  • StudentView類:用于主界面的視圖
  • StudentInterface接口:用于編寫抽象方法體,用于繼承

存放學(xué)生數(shù)據(jù)用我們學(xué)過(guò)的ArrayList,由于類是一種引用數(shù)據(jù)類型,所以我們可以將泛型指代成Student

編寫邏輯

業(yè)務(wù)層調(diào)用邏輯層,邏輯層調(diào)用數(shù)據(jù)層

知識(shí)點(diǎn)

面向?qū)ο螅珹rrayList,泛型,循環(huán),迭代,switch

具體代碼實(shí)現(xiàn)

Student.java

package com.zxy.bean;

public class Student {
 private int id;
 private String name;
 private int age;
 private String addr;

 public Student(){
 // 無(wú)參構(gòu)造方法,防止出錯(cuò)
 }
 public Student(int id,String name,int age,String addr){
 this.id=id;
 this.name=name;
 this.age=age;
 this.addr=addr;
 }

 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 int getAge() {
 return age;
 }

 public void setAge(int age) {
 this.age = age;
 }

 public String getAddr() {
 return addr;
 }

 public void setAddr(String addr) {
 this.addr = addr;
 }

 @Override
 public String toString() {
 return "{ID: "+this.id+",name: "+this.name+",age: "+this.age+",addr: "+this.addr+"}";
 }
}

StudentManager.java

package com.zxy.bean;

import java.util.ArrayList;
import java.util.Scanner;

public class StudentManager implements StudentInterface {
 @Override
 public void addStudent(ArrayList<Student> list) {
 Scanner sc=new Scanner(System.in);
 System.out.println("請(qǐng)輸入學(xué)號(hào):");
 int id=sc.nextInt();

 System.out.println("請(qǐng)輸入姓名:");
 String name=sc.next();

 System.out.println("請(qǐng)輸入年齡:");
 int age=sc.nextInt();

 System.out.println("請(qǐng)輸入地址:");
 String addr=sc.next();

 list.add(new Student(id,name,age,addr));

 System.out.println("添加完成");
 }

 @Override
 public void delStudent(ArrayList<Student> list) {
 // 首先刪除之前還是要判斷一下有沒(méi)有信息
 Scanner sc=new Scanner(System.in);

 if (list.size()==0){
  // 如果為0,則說(shuō)明list中沒(méi)有學(xué)生信息
  System.out.println("沒(méi)有學(xué)生信息");
  return;
 }
 findStudent(list);
 System.out.println("輸入要?jiǎng)h除的學(xué)號(hào):");
 // 輸入要?jiǎng)h除的學(xué)號(hào)
 int id=sc.nextInt();

 // 判斷要?jiǎng)h除的id是不是在list中
 for (int i=0;i<list.size();i++){
  if (list.get(i).getId()==id){
  Object string = list.remove(i);
  System.out.println("刪除成功,你刪除的是:"+string);
  }
 }
 }

 @Override
 public void findStudent(ArrayList<Student> list) {
 if (list.size()==0){
  System.out.println("沒(méi)有學(xué)生信息");
 }
 // 查詢?nèi)繉W(xué)生信息
 for (Student student:list){
  System.out.println(student.toString());
  System.out.println("信息已展示");
 }
 return;
 }

 @Override
 public void changeStudent(ArrayList<Student> list) {
 // 修改學(xué)生信息
 Scanner sc=new Scanner(System.in);

 if (list.size()==0){
  System.out.println("當(dāng)前沒(méi)有學(xué)生信息");
  return;// 這樣會(huì)直接終止當(dāng)前語(yǔ)句,不會(huì)執(zhí)行下面的語(yǔ)句了
 }
 System.out.println("輸入要修改的學(xué)生的學(xué)號(hào):");
 int id=sc.nextInt();

 // 判斷id是否在list中,如果在,就修改
 boolean flag=false;// 如果boolean為false,那么說(shuō)明沒(méi)有在這個(gè)人
 for (int i=0;i<list.size();i++){
  if (list.get(i).getId()==id){
  // 如果存在,就輸入新的學(xué)號(hào)、姓名、年齡、地址
  System.out.println("輸入新的學(xué)號(hào):");
  int idNew=sc.nextInt();

  System.out.println("輸入新的姓名:");
  String nameNew=sc.next();

  System.out.println("輸入新的年齡:");
  int ageNew=sc.nextInt();

  System.out.println("輸入新的地址:");
  String addrNew=sc.next();

  list.set(i,new Student(idNew,nameNew,ageNew,addrNew));

  System.out.println("修改成功");
  return;
  }
 }
 if (flag==false){
  System.out.println("沒(méi)有找到該學(xué)生呢,親");
 }
 }

 @Override
 public void findOnlyStudent(ArrayList<Student> list) {
 Scanner sc=new Scanner(System.in);
 System.out.println("輸入要查找的學(xué)生id:");
 int id=sc.nextInt();

 for (Student stu:list){
  if (stu.getId()==id){
  System.out.println(stu.toString());
  }else {
  System.out.println("你輸入的id不存在");
  return;
  }
 }
 }
}

StudentView.java

package com.zxy.bean;

import java.util.ArrayList;
import java.util.Scanner;

public class StudentView {


 public static void main(String[] args) {

 menu();
 }
 // 封裝一個(gè)主菜單的方法
 public static void menu(){
 // 數(shù)組保存學(xué)生信息,類型使用Student類型
 ArrayList<Student> list=new ArrayList<>();
 StudentManager stu=new StudentManager();
 boolean flag=true;
 while (flag){
 System.out.println("***** 歡迎來(lái)到學(xué)生信息管理系統(tǒng) *****");
 System.out.println("******* 1.查詢所有學(xué)生 *********");
 System.out.println("******* 2.查詢單個(gè)學(xué)生 *********");
 System.out.println("******* 3.添加學(xué)生 *********");
 System.out.println("******* 4.修改學(xué)生 *********");
 System.out.println("******* 5.刪除學(xué)生 *********");
 System.out.println("******* 6.退出  *********");
 System.out.println("**********************************");
 System.out.println("請(qǐng)輸入您要操作的序號(hào): ");
 // 序號(hào)選擇
 int choice=new Scanner(System.in).nextInt();
  switch (choice){
  case 1:
   // 查詢學(xué)生
   stu.findStudent(list);
   break;
  case 2:
   // 查詢單個(gè)學(xué)生
   stu.findOnlyStudent(list);
   break;
  case 3:
   // 添加學(xué)生
   stu.addStudent(list);
   break;
  case 4:
   // 修改學(xué)生
   stu.changeStudent(list);
   break;
  case 5:
   // 刪除學(xué)生
   stu.delStudent(list);
   break;
  case 6:
   // 退出程序
   flag=false;
   System.out.println("程序退出成功,歡迎下次使用");
   break;
  }
 }
 }
}

StudentInterface.java

package com.zxy.bean;

import java.util.ArrayList;

public interface StudentInterface {
 void addStudent(ArrayList<Student> list);
 void delStudent(ArrayList<Student> list);
 void findStudent(ArrayList<Student> list);
 void changeStudent(ArrayList<Student> list);
 void findOnlyStudent(ArrayList<Student> list);
}

運(yùn)行截圖

關(guān)于管理系統(tǒng)的更多內(nèi)容請(qǐng)點(diǎn)擊《管理系統(tǒng)專題》進(jìn)行學(xué)習(xí)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • idea注入mapper報(bào)錯(cuò)報(bào)紅的幾種解決方案

    idea注入mapper報(bào)錯(cuò)報(bào)紅的幾種解決方案

    相信大家在使用idea的時(shí)候一定會(huì)遇到這樣的問(wèn)題,就是在service里注入mapper的時(shí)候,明明代碼沒(méi)有問(wèn)題,也可以運(yùn)行,但是idea它就是給你報(bào)個(gè)錯(cuò),有個(gè)紅色的波浪線在下面,所以本文將給大家介紹了idea注入mapper報(bào)錯(cuò)報(bào)紅的幾種解決方案,需要的朋友可以參考下
    2023-12-12
  • Java中的Sort排序問(wèn)題

    Java中的Sort排序問(wèn)題

    這篇文章主要介紹了Java中的Sort排序問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Java教程各種接口的介紹

    Java教程各種接口的介紹

    Java教程各種接口的介紹,需要的朋友可以參考一下
    2013-02-02
  • 詳解java中float與double的區(qū)別

    詳解java中float與double的區(qū)別

    這篇文章主要介紹了JAVA中float與double的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • AQS同步組件Semaphore信號(hào)量案例剖析

    AQS同步組件Semaphore信號(hào)量案例剖析

    這篇文章主要為大家介紹了AQS同步組件Semaphore信號(hào)量案例剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Spring mvc整合tiles框架的簡(jiǎn)單入門教程(maven)

    Spring mvc整合tiles框架的簡(jiǎn)單入門教程(maven)

    這篇文章主要給大家介紹了關(guān)于Spring mvc整合tiles框架的簡(jiǎn)單入門教程(maven),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考借鑒,下面來(lái)一起看看詳細(xì)的介紹吧。
    2017-12-12
  • Spring Gateway的入門概述及主要功能

    Spring Gateway的入門概述及主要功能

    Spring Gateway是Spring Cloud微服務(wù)生態(tài)下的網(wǎng)關(guān)組件,網(wǎng)絡(luò)層使用了基于非阻塞的 Netty使用異步IO增加了系統(tǒng)的性能,Gateway 是基于 Spring 5 和 Spring Boot 2 搭建的,這篇文章主要介紹了Spring Gateway的入門概述簡(jiǎn)介,需要的朋友可以參考下
    2024-04-04
  • 基于JAVA中Jersey處理Http協(xié)議中的Multipart的詳解

    基于JAVA中Jersey處理Http協(xié)議中的Multipart的詳解

    之前在基于C#開(kāi)發(fā)彩信用最原始的StringBuilder拼接字符串方式處理過(guò)Multipart?,F(xiàn)在在做一個(gè)項(xiàng)目的時(shí)候,由于之前的技術(shù)路線都是使用Jersey處理Http這塊,為了保持技術(shù)路線一致,研究了一下如何使用Jersey處理Http協(xié)議中的Multipart
    2013-05-05
  • java制作帶界面的聊天工具

    java制作帶界面的聊天工具

    這篇文章主要教大家如何利用java制作帶界面的聊天工具,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Springboot詳解如何實(shí)現(xiàn)SQL注入過(guò)濾器過(guò)程

    Springboot詳解如何實(shí)現(xiàn)SQL注入過(guò)濾器過(guò)程

    這篇文章主要介紹了基于springboot實(shí)現(xiàn)SQL注入過(guò)濾器,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2022-06-06

最新評(píng)論