首页 > 编程语言 >学生信息管理小系统(Java)

学生信息管理小系统(Java)

时间:2023-08-01 16:58:56浏览次数:31  
标签:Java sc list System 信息管理 stu println 学生 out

一、题目要求

 需要实现对应的操作

二、思路

(1)先设计一个主菜单界面,用户可以选择对应的功能;

(2)每个板块对应一个方法,实现具体的操作;

(3)最后在main函数中使用switch方法根据用户的选择对应不同的结果;

三、代码

  1 import java.util.ArrayList;
  2 import java.util.Scanner;
  3 
  4 public class StudentTest {
  5     public static void main(String[] args) {
  6         ArrayList<Student> list=new ArrayList<>();
  7         loop:while (true) {
  8             //1.添加菜单界面
  9             System.out.println("---------欢迎来到黑马学生系统---------");
 10             System.out.println("1.添加学生");
 11             System.out.println("2.删除学生");
 12             System.out.println("3.修改学生");
 13             System.out.println("4.查询学生");
 14             System.out.println("5.退出");
 15             System.out.println("请输入你要实现的功能");
 16             //从键盘接收用户传入的数据作为功能的选择
 17             Scanner sc=new Scanner(System.in);
 18             String choose=sc.next();
 19             //写出不同选项对应执行的方法(利用switch来进行)
 20             switch (choose){
 21                 case "1"-> add(list);
 22                 case "2"-> delete(list);
 23                 case "3"->change(list);
 24                 case "4"-> see(list);
 25                 case "5"-> {
 26                     System.out.println("程序已退出");
 27                     break loop;
 28                 }
 29                 default-> System.out.println("输入选项不存在,请重新输入");
 30             }
 31         }
 32     }
 33     //1.添加学生
 34     public static void add(ArrayList<Student> list){
 35         Scanner sc=new Scanner(System.in);
 36         System.out.println("请输入需要添加学生的id");
 37         String sid=sc.next();
 38         if(contains(list,sid)>=0){
 39             System.out.println("该学生已存在");
 40             return;
 41         }
 42         System.out.println("请输入需要添加学生的姓名");
 43         String sname=sc.next();
 44         System.out.println("请输入需要添加学生的年龄");
 45         int sage=sc.nextInt();
 46         System.out.println("请输入需要添加学生的地址");
 47         String saddress=sc.next();
 48         Student stu=new Student(sid,sname,saddress,sage);
 49         list.add(stu);
 50         System.out.println("学生添加成功");
 51     }
 52     //2.删除学生
 53     public static void delete(ArrayList<Student> list){
 54         System.out.println("请输入需要删除学生的id");
 55         Scanner sc=new Scanner(System.in);
 56         loop:while (true) {
 57             String sid=sc.next();
 58             for (int i = 0; i < list.size(); i++) {
 59                 Student temp=list.get(i);
 60                 if(sid.equals(temp.getId())){
 61                     list.remove(i);
 62                     System.out.println("删除成功");
 63                     break loop;
 64                 }
 65             }
 66             System.out.println("该学生不存在,请重新输入");
 67         }
 68     }
 69     //3.修改学生
 70     public static void change(ArrayList<Student> list){
 71         System.out.println("请输入你要修改的学生id");
 72         Scanner sc=new Scanner(System.in);
 73         String sid=sc.next();
 74         if(contains(list,sid)>=0){
 75             Student stu=new Student();
 76             stu.setId(sid);
 77             int index=contains(list,sid);
 78             System.out.println("请输入id为"+sid+"的新姓名");
 79             String newname=sc.next();
 80             stu.setName(newname);
 81             System.out.println("请输入id为"+sid+"的新年龄");
 82             int newage=sc.nextInt();
 83             stu.setAge(newage);
 84             System.out.println("请输入id为"+sid+"的新地址");
 85             String newaddress=sc.next();
 86             stu.setAddress(newaddress);
 87             list.set(index,stu);
 88             System.out.println("修改完成");
 89         }
 90         else{
 91             System.out.println("该学生不存在");
 92             return;
 93         }
 94     }
 95     //4.查询学生
 96     public static void see(ArrayList<Student> list) {
 97         if(list.size()==0){
 98             System.out.println("当前无学生信息");
 99         }
100         else {
101             System.out.println("id\t姓名\t年龄\t地址\t");
102             for (int i = 0; i < list.size(); i++) {
103                 Student stu = list.get(i);
104                 System.out.println(stu.getId() + "\t" + stu.getName() + "\t" + stu.getAge() + "\t" + stu.getAddress());
105             }
106         }
107 
108     }
109     public static int contains(ArrayList<Student> list,String id){
110         for (int i = 0; i < list.size(); i++) {
111             Student stu=list.get(i);
112             if(stu.getId().equals(id)){
113                 return i;
114             }
115         }
116         return -1;
117     }
118 }

四、总结

(1)对于需要复用的代码,最好单独书写为一个方法,方便以后的调用,同时能提高代码的复用性和效率;

(2)需要ArrayList对应的几种基本方法

例:

 

 

 

 需要其他的方法时可以查API文档;

(3)return的作用:

①结束一个方法

②作为返回值

标签:Java,sc,list,System,信息管理,stu,println,学生,out
From: https://www.cnblogs.com/lian369/p/17596939.html

相关文章

  • JavaScript基础02
    隐式类型转换加法运算中,如果参与运算的有一个值不是数字,另外一个值是数字,会将数字隐式转换成字符串再与数字进行拼接减乘除取余运算中,如果有非数字,会将它隐式转成数值,然后参与运算;如果参与运算存在NaN,那么得到的是NaN运算符算术运算符+-*/%一元运算符++自增--自......
  • java并发之锁的升级
    偏向锁-->轻量级锁-->重量级锁,是synchronized的三种形态转换。 锁可以升级但不能降级,意味着偏向锁升级成轻量级锁后不能降级成偏向锁。这种锁升级却不能降级的策略,目的是为了提高获得锁和释放锁的效率。 线程的状态:就绪队列可能随时被CPU选中执行;阻塞队列需要等其他......
  • Java之String系列--String, StringBuffer, StringBuilder区别
    简介本文介绍Java的String,StringBuffer,StringBuilder的区别。项StringStringBufferStringBuffer线程安全性不可变。原因:value数组是final类型。因为不可变,所以每次操作生成新对象。因为不可变,所以每次操作生成新对象。原因:value数组是final类型。原因:其父类(AbstractStringBuilder......
  • AI飙车!亚马逊云科技Amazon DeepRacer大赛帮助学生快速get云技能
    亚马逊云科技AmazonDeepRacer比赛既是一场比拼速度和技术的游戏,也是一种学习人工智能的方式,参赛选手不仅能边玩边学,还有可能成长为技术大牛。而且,它可不只是一场让年轻人打call的比赛,更是亚马逊云科技与高校共建云人才生态的重头戏。不少才华横溢的年轻人,就通过这个比赛踏上了前沿......
  • Java实现读取Excel文件并逐行写入到新的Excel文件中
    在日常开发中,经常需要处理Excel文件,其中一种常见的需求是将原始Excel文件的内容逐行写入到新的Excel文件中或者写入数据中。本篇博客将介绍使用Java编程语言以及ApachePOI库来实现这一功能。ApachePOI是一个开源的Java库,用于处理MicrosoftOffice格式的文件,包括Excel。1.环境......
  • javase学习文档
      javase学习文档(更新)javase学习文档已更新查看地址:https://talentestors.gitee.io/my-notes/codenotes/javase/......
  • Java导入、导出excel
    Excel是由四个元素组成的分别是:WorkBook(工作簿)、Sheet(工作表)、Row(行)、Cell(单元格),其中包含关系是从左至右,一个WorkBook可以包含多个Sheet,一个Sheet又是由多个Row组成,一个Row是由多个Cell组成。1.1创建Excel的元素1)创建WokrBookWorkbook workbook = new XSSFWorkboo......
  • Java学习-1
    今天学了点Java构建最小栈的方法,采用的是链表存储其中的最小值以及当前节点的数值,在插入栈内新元素的时候进行对应的最小值比对,插入到private链表中。classListNode{publicintval;publicintmin;publicListNodenext;publicListNode(intval,intmin......
  • 【PHP 】医院信息化手术麻醉临床信息管理系统实现
    一、医院手术麻醉临床信息管理系统概述手术麻醉临床信息管理系统是在服务围手术期临床工作的基础上开发的。与床旁监护设备和医院HIS、LIS、PACS等信息系统高度集成,全面实现围手术期患者数据的自动采集和共享,为医护人员、业务管理者、院级领导提供流程化、信息化、自动化、智能化......
  • #yyds干货盘点#Java虚拟机基本结构
    类加载子系统类加载子系统负责从文件系统或网络中加载Class信息,加载的类的数据结构存放于一块叫方法区的内存空间中。方法区方法区主要存储类加载后的数据结构信息、运行时常量池信息、字符串、数字常量(这部分常量信息是Class文件中常量池部分的内存映射)(JDK1.7之前,JDK1.7之后字符......