【集合大练习】---------------简易学生管理系统

news2025/1/1 21:31:49

目标:

实现学生对象新增,删除,查看,对象信息修改

整体实现思路:

1.定义学生类-------------创建学生对象

2.管理界面代码编写-------------命令提示面板

3.添加学生的代码编写---------add功能实现

4.查看学生信息的代码编写---------read功能实现

5.删除学生的代码编写---------delete功能实现

6.修改学生信息的代码编写---------update功能实现

Student类的定义:

成员变量(学号:sid,姓名:name,年龄:age,居住地:address).

构造方法(无参构造方法,带4个参数的构造方法)

成员方法(读写属性的方法:每个成员变量给出对应的get/set方法)

code:

-------------------------------

public class Student {
    private String sid;
    private String name;
    private String age;
    private String address;

    public Student(){

    }

    public Student(String sid,String name,String age,String address){
        this.sid = sid;
        this.name = name;
        this.age = age;
        this.address = address;
    }

    public String getSid() {
        return sid;
    }

    public void setSid(String sid) {
        this.sid = sid;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

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

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

-------------------------------

主界面:

实现步骤:

1.用输出语句进行主界面的编写,面向结果编程

2.用Scanner实现键盘录入数据

3.用switch语句完成操作的选择

4.用循环完成再次回到主界面

code:

-------------------------------

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


public class StudentManager {
    public static void main(String[] args) {
//一直执行,直到line为5,退出JVM虚拟机,结束死循环
        while (true) {
            System.out.println("---------欢迎来到学生管理系统V1.0----------");
            System.out.println("1.添加学生");
            System.out.println("2.删除学生");
            System.out.println("1.修改学生");
            System.out.println("1.查看所有学生");
            System.out.println("5.退出");
            System.out.println("请输入您的选择:");

            //用Scanner实现键盘录入数据
            Scanner sc = new Scanner(System.in);
            String line = sc.nextLine();

            //用switch实现操作的选择
            switch (line) {
                case "1":
                    System.out.println("添加学生");
                    break;
                case "2":
                    System.out.println("删除学生");
                    break;
                case "3":
                    System.out.println("修改学生");
                    break;
                case "4":
                    System.out.println("查看学生");
                    break;
                case "5":
                    System.out.println("正在退出,谢谢使用!");
                    //break;
                    System.exit(0);//JVM退出
            }
        }
    }

}

-------------------------------

添加学生代码编写:

实现思路:

1.键盘录入,选择添加学生

2.定义一个方法,用于添加学生

        显示提示信息,提示要输入学生对象的何种属性

        键盘录入学生对象所需要的属性值

        创建学生对象,把键盘录入的属性值复制给学生对象的成员变量

        将学生对象添加到集合中(保存)

          给出添加成功提示

3.调用方法   

code:

-------------------------------

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


public class StudentManager {
    public static void main(String[] args) {
        //创建集合对象,用于存储学生数据】
        ArrayList<Student> array = new ArrayList<Student>();
        while (true) {
            System.out.println("---------欢迎来到学生管理系统V1.0----------");
            System.out.println("1.添加学生");
            System.out.println("2.删除学生");
            System.out.println("1.修改学生");
            System.out.println("1.查看所有学生");
            System.out.println("5.退出");
            System.out.println("请输入您的选择:");

            //用Scanner实现键盘录入数据
            Scanner sc = new Scanner(System.in);
            String line = sc.nextLine();

            //用switch实现操作的选择
            switch (line) {
                case "1":
                   // System.out.println("添加学生");
                    //调用添加方法
                    addStudent(array);
                    break;
                case "2":
                    System.out.println("删除学生");
                    break;
                case "3":
                    System.out.println("修改学生");
                    break;
                case "4":
                    System.out.println("查看学生");
                    break;
                case "5":
                    System.out.println("正在退出,谢谢使用!");
                    //break;
                    System.exit(0);//JVM退出
            }
        }
    }
    //添加学生信息
    public static void addStudent(ArrayList<Student> array){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入学生学号:");
        String sid = sc.nextLine();
        System.out.println("请输入学生姓名:");
        String name = sc.nextLine();
        System.out.println("请输入学生年龄:");
        String age = sc.nextLine();
        System.out.println("请输入学生住址:");
        String address = sc.nextLine();

        //创建学生对象,并将上步sc对象的值,赋值给学生对象的成员变量
        Student s = new Student();
        s.setSid(sid);
        s.setName(name);
        s.setAge(age);
        s.setAddress(address);
        //将学生对象添加到集合中
        array.add(s);
        //给出成功提示
        System.out.println("学生对象"+s.getName()+"添加成功!");



    }

    //查看学生信息
    //删除学生信息
    //修改学生信息
}

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1373906.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

哪个品牌的运动耳机比较好?哪个运动耳机好?2024年运动耳机推荐

​对于追求健康生活方式的人&#xff0c;高质量的运动耳机是维持锻炼动力和专注的不可或缺的装备。在跑步、骑行或进行其他形式的锻炼时&#xff0c;运动耳机能为我们提供动感的音乐&#xff0c;为运动体验增添活力。以下是市场上一些表现出色的运动耳机&#xff0c;都来看看有…

红黑树的了解以及代码实现

什么是红黑树 红黑树是在二叉搜索树的基础上添加颜色&#xff0c;通过对任何一条路径的颜色的限制&#xff0c;确保红黑树的任何一条路径不会超过其他路径的两倍&#xff0c;是一棵近似平衡的树。 红黑树的节点不是红色就是黑色&#xff0c;其节点的排列除了需要按二插搜索树的…

微信,支付宝“免密支付”,关闭教程!

不久前&#xff0c;一位中年妇女捡到了一部手机&#xff0c;并使用免密支付的方式消费掉了手机里的所有余额。这一事件在微博上成为了热搜话题&#xff0c;引起了网友们的热议。 据报道&#xff0c;一名泸州市的居民在捡到一部他人的手机后&#xff0c;发现该手机没有设置锁屏密…

全网最详细mysql5.7安装(保姆级别)

文章目录 数据库MySQL5.7安装包安装环境变量配置检测是否安装配置成功MySQL 启动和关闭 数据库 概念&#xff1a;数据库&#xff08;DataBase&#xff09;简称&#xff1a;DB 用于存储和管理数据的仓库 数据库的特点 1、持久化存储数据&#xff0c;其实数据库就是一个文件系统…

【MATLAB】 TVFEMD信号分解算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~ 1 基本定义 TVFEMD (Time-Variant Filtered Empirical Mode Decomposition) 是一种信号分解算法&#xff0c;它是基于 EMD (Empirical Mode Decomposition) 方法发展而来的。 EMD是一种自适应的数据分析方法&#xff0…

微电网能效管理系统在寿宁县五校迁建项目的设计与应用——安科瑞赵嘉敏

基本信息&#xff1a; 项目名称&#xff1a;寿宁县五校迁建项目(现为寿宁县一中)企业微电网能效管理系统 项目地点&#xff1a;福建省寿宁县 实施时间&#xff1a;2023年4月 项目总览图&#xff1a; 项目简介&#xff1a; 寿宁县第一中学创办于1938年7月&#xff0c;是一所…

目标跟踪算法的目标丢失与遮挡处理 - 注意力机制

目标跟踪算法在处理目标遮挡和丢失情况时&#xff0c;采用了多种技术和策略。这些技术主要集中在提高算法的鲁棒性和适应性上&#xff0c;使其能够在复杂环境中有效跟踪目标。以下是一些常见的处理方法&#xff1a; 多模型融合&#xff1a;通过结合多个跟踪模型或特征表示&…

Container ansible disguises local ansible 【容器 ansible 伪装本地 ansible】

预备条件&#xff1a; ctr & crictl $ nerdctl & containerd install了解 kubespray 是什么 kubespray 包含 ansible、ansible-playbook命令以及通过kubespray项目安装kubernetes集群的介质。 nerdctl pull quay.io/kubespray/kubespray:v2.23.1 nerdctl save -o qu…

中间捕获事件:IntermediateCatchingEvent(TimerEvent)

一&#xff1a;TimerEvent https://monday.blog.csdn.net/article/details/134435415 应用场景&#xff1a; 定时启动流程&#xff1a;该类型节点作为流程的开始节点&#xff0c;不需要显式启动流程&#xff0c;只需要部署。节点延时审批。节点超时处理&#xff1a;对在指定…

Linux习题3

解析&#xff1a; grep&#xff1a;查找文件内的内容 gzip&#xff1a;压缩文件&#xff0c;文件经压缩后会增加 gz&#xff1a;扩展名 find&#xff1a;在指定目录下查找文件 解析&#xff1a; A hosts文件是Linux系统上一个负责ip地址与域名快速解析的文件&#xff0c;以…

linux搭建SRS服务器

linux搭建SRS服务器 文章目录 linux搭建SRS服务器SRS说明实验说明搭建步骤推流步骤查看web端服务器拉流步骤final SRS说明 SRS&#xff08;simple Rtmp Server&#xff09;,是一个简单高效的实时视频服务器&#xff0c;支持RTMP/WebRTC/HLS/HTTP-FLV/SRT, 是国人自己开发的一款…

Object.keys()

目录 1、Object.keys() 是什么&#xff1f; 2、Object.keys(obj) 用法&#xff1a; 2.1 如果对象是一个对象&#xff0c;会返回对象的属性名组成的数组&#xff1b; 2.2 如果对象是一个数组&#xff0c;则返回索引组成的数组&#xff1a; 2.3 如果是字符串&#xff0c;返回…

UE4 4.21-4.27使用编辑器蓝图EditorBlueprint方法

在UE4 4.21中&#xff0c;编辑器蓝图&#xff08;Editor Blueprint&#xff09;是一个强大的工具&#xff0c;允许开发者扩展和自定义Unreal编辑器的功能。通过编辑器蓝图&#xff0c;我们可以创建自定义的工具和功能&#xff0c;以优化开发流程。 本教程将指导您如何在UE4 4.…

Golang leetcode142 环形链表 暴力map 快慢指针法

文章目录 环形链表 leetcode142暴力遍历 map哈希记录快慢指针法 环形链表 leetcode142 该题目要求找到入环的第一个节点 我们可以通过map进行记录&#xff0c;没到新的节点查询是否经过原有节点 入环节点&#xff0c;上两个节点的next相同 若有入环节点&#xff0c;则一定能检…

FridaHook(一)——Java层常见方法

1、frida安装运行 pc&#xff1a;pip install frida模拟器&#xff1a; adb connect 127.0.0.1:7555 adb shell cat /proc/cpuinfo下载对应版本frida-server&#xff0c;安装运行 adb push frida-server /data/local/tmp adb shell cd /data/local/tmp chmod 777 frida-serve…

Windows 环境多个JDK安装与切换

一、下载jdk 去Oracle官网上下载想要安装的jdk版本&#xff0c;https://www.oracle.com/java/technologies/downloads/。 二、安装jdk 双击.exe文件&#xff0c;选择好安装目录进行安装。多个版本的jdk重复这两步操作就好。 三、多版本的jdk都下载安装完成之后&#xff0…

众和策略证券开户首选:交易规则和开通条件解析!

一、新三板注册条件 新三板分为2个层级&#xff1a; 立异层&#xff1a;注册前10个生意日日均资产100万及以上&#xff0c;两年的股票生意阅历&#xff0c;危险承受能力C4及以上。 基础层&#xff1a;注册前10个生意日日均资产200万及以上&#xff0c;两年的股票生意阅历&am…

[C#]调用tesseact-ocr的traineddata模型进行ocr文字识别

【框架地址】 https://github.com/charlesw/tesseract 【算法介绍】 Tesseract OCR是一个开源的光学字符识别引擎&#xff0c;它可以将图像中的文字转换成可编辑和可搜索的文本格式。Tesseract由惠普实验室于1985年开始开发&#xff0c;并在2005年被Google收购后成为了开源项…

RHCE9学习指南 第19章 网络时间服务器

19.1 时间同步的必要性 对于一些服务来说对时间要求非常严格&#xff0c;例如&#xff0c;图19-1所示由三台服务器搭建的ceph集群。 图19-1 三台机器搭建的集群对时间要求比较高 这三台服务器的时间必须要保持一样&#xff0c;如果不一样&#xff0c;就会显示报警信息。那么…

GPT-4与DALL·E 3:跨界融合,开启绘画与文本的新纪元

在人工智能的发展浪潮中&#xff0c;MidTool&#xff08;https://www.aimidtool.com/&#xff09;的GPT-4与DALLE 3的集成代表了一个跨越式的进步。这一集成不仅仅是技术的结合&#xff0c;更是艺术与文字的完美融合&#xff0c;它为创意产业带来了革命性的变革。本文将探讨GPT…