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

目标:

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

整体实现思路:

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("3.修改学生");System.out.println("4.查看所有学生");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.mzph.cn/news/621564.shtml

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

相关文章

4、C语言:指针与数组

数组与指针 指针与地址指针与函数参数指针与数组地址算数运算字符指针与函数指针数组以及指向指针的指针多维数组命令行参数指向函数的指针复杂声明 指针是一种保存变量地址的变量。C语言中&#xff0c;指针的使用非常广泛&#xff0c;原因之一是&#xff0c;指针常常是表达某个…

智能合约笔记

前言&#xff1a; 首先了解下为什么会出现智能合约&#xff0c;打个比方现在有两个人A和B打赌明天会不会下雨&#xff0c;每个人赌注100元&#xff0c;如果第二天下雨则A拿走200元&#xff0c;否则B拿走200元&#xff0c;这样就有一个问题&#xff0c;赌注要到第二天才能见效&…

Python 中的字符串分割函数 split() 详解

更多Python学习内容&#xff1a;ipengtao.com 在 Python 编程中&#xff0c;处理字符串是一项常见的任务。字符串分割是其中的一个常见操作&#xff0c;而 Python 提供了强大的 split() 函数&#xff0c;用于将字符串拆分成多个部分。本文将详细介绍 split() 函数的用法、参数和…

Linux 转换文字编码与换行符 nkf命令

参考资料 【 nkf 】コマンド――文字コードと改行コードを変換するnkfコマンドでファイルの文字コードと改行コードを統一する 目录 一. 前期准备二. 乱码现象与分析三. nkf命令3.1 nkf --guess 查看文件编码3.2 nkf -w8 UTF-8(BOM)编码显示3.3 nkf -wd --overwrite 覆盖源文件…

MySQL核心SQL

一.结构化查询语言 SQL是结构化查询语言&#xff08;Structure Query Language&#xff09;&#xff0c;它是关系型数据库的通用语言。 SQL 主要可以划分为以下 3 个类别&#xff1a; DDL&#xff08;Data Definition Languages&#xff09;语句 数据定义语言&#xff0c;这…

C#无标题栏窗体拖动代码

文章目录 一、概念二、案例三、常见问题四、链接 一、概念 C#&#xff08;C Sharp&#xff09;是由微软公司开发的一种面向对象的编程语言。它是从C和C语言演化而来的&#xff0c;并结合了Java和其他编程语言的特性。C#是微软.NET平台的一部分&#xff0c;允许开发人员创建各种…

EMC VNXe / Unity存储系统如何找回密码

开始之前&#xff0c;先简单说说&#xff0c;EMC的VNXe存储之间的关系。 EMC的VNXe和Unity存储的操作系统OS是一样的&#xff0c;当然不是完全一样&#xff0c;但是架构是一样的&#xff0c;先推出的产品是VNXe&#xff0c;然后在这个基础上演进到了Unity&#xff0c;Unity XT…

港大谷歌提出GO-NeRF:在NeRF中生成协调且高质量的3D对象

尽管在3D生成方面取得了进展&#xff0c;但在作为NeRF表示的现有3D场景中直接创建3D对象仍然是未经探索的。这个过程不仅需要高质量的3D对象生成&#xff0c;还需要将生成的3D内容无缝地合成到现有的NeRF中。为此&#xff0c;作者提出了一种新方法&#xff0c;GO-NeRF&#xff…

电脑定时关机应用

这是一个Python应用。家里卧室装了新电视&#xff0c;HDMI连接笔记本追剧还是很愉快的。可是经常睡着&#xff0c;自然忘了关机。搜了一大圈&#xff0c;都是用命令行或者bat解决。商店里的应用也不好用&#xff0c;有些还收费。于是萌生了自己写一个定时关机应用的想法。利用N…

监控平台zabbix介绍与部署

1. 完整的项目 业务架构&#xff1a;客户端 -> 防火墙 -> 负载均衡&#xff08;四层、七层&#xff09;-> Web缓存/应用 -> 业务逻辑&#xff08;动态应用&#xff09;-> 数据缓存 -> 数据持久 运维架构&#xff1a;运维客户端 -> 堡垒机/跳板机&#x…

TLC Nand Flash 存储单元的读取原理

我们知道Nand Flash使用浮栅晶体管作为存储单元&#xff08;memory cell&#xff09;来存储数据&#xff0c;浮栅晶体管物理结构如图1所示&#xff1a; 图1 浮栅晶体管 对于普通的晶体管&#xff08;去掉浮栅晶体管中的浮栅层&#xff0c;floating gate&#xff09;&#xff0…

基于Docker的Nginx的安装与配置

基于Docker的Nginx的安装与配置 1 为Nginx创建一个容器1.1 学习docker run1.2 通过docker run为Nginx创建并启动一个容器 2 配置Nginx2.1 学习docker的bind mount技术2.2 在Nginx容器中找到想修改的文件所在的目录2.2.1 认识nginx.conf文件2.2.2 访问Nginx服务&#xff0c;默认…

【MATLAB】VMD_LSTM神经网络时序预测算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 变分模态分解&#xff08;Variational Mode Decomposition&#xff0c;VMD&#xff09;和LSTM&#xff08;Long Short-Term Memory&#xff09;神经网络结合的算法是一种用于处理时间序列…

超详细的嵌入式cJSON使用注意事项,持续补充中......

文章目录 一、堆内存不足1.1 问题描述1.2 解决办法 二、内存泄露2.1 忘记Delete2.2 忘记Free2.3 串口数据接收缺少部分字符导致的内存泄露(自己的问题)问题分析 2.4 内存泄露在Cortex-M3内核会发生什么&#xff1f; cJSON开源库地址&#xff1a; cJSON 一、堆内存不足 1.1 问…

ssm基于Web的课堂管理系统设计与实现论文

目 录 目 录 I 摘 要 III ABSTRACT IV 1 绪论 1 1.1 课题背景 1 1.2 研究现状 1 1.3 研究内容 2 2 系统开发环境 3 2.1 vue技术 3 2.2 JAVA技术 3 2.3 MYSQL数据库 3 2.4 B/S结构 4 2.5 SSM框架技术 4 3 系统分析 5 3.1 可行性分析 5 3.1.1 技术可行性 5 3.1.2 操作可行性 5 3…

【GitHub项目推荐--开源的坦克大战】【转载】

坦克大战当年红遍大江南北&#xff0c;很多和我一样的九零后应该都有着对这个游戏的记忆。现在显示器分辨率越来越高&#xff0c;使用矢量图来实现像素风格游戏&#xff0c;可以获得非常高的展现质量。 这个项目是作者肥超花了很长时间折腾的复刻版本&#xff0c;所有元素都使…

余弦相似度的计算以及公式

公式&#xff1a; 思想&#xff1a;余弦相似度的思想是通过计算两个向量之间的余弦值来衡量它们的相似程度。如果两个向量之间的夹角越小&#xff0c;它们的余弦值就越接近1&#xff0c;也就意味着它们越相似。而如果它们的夹角越大&#xff0c;余弦值就越接近0&#xff0c;也就…

ES的文档操作

一&#xff0c;DSL语句 1&#xff0c;新增文档&#xff1a; 2&#xff0c;查询文档和删除文档&#xff1a; ,3修改文档 修改有两种方式&#xff1a; 全量修改&#xff1a;直接覆盖原来的文档 增量修改&#xff1a;修改文档中的部分字段 全量修改 全量修改是覆盖原来的文档…

八:分布式锁

1、为什么要使用分布式锁 锁是多线程代码中的概念&#xff0c;只有多任务访问同一个互斥的共享资源时才需要锁。单机应用开发时一般使用synchronized或lock。多线程的运行都是在同一个JVM之下。应用是分布式集群&#xff0c;属于多JVM的工作环境&#xff0c;JVM之间已经无法通过…

Error: L6218E: Undefined symbol 系列错误汇总 (referred from main.o)

传送门 错误1&#xff1a; Undefined symbol(referred from main.o)错误2&#xff1a;Undefined_symbol _use_two_region memory 错误1&#xff1a; Undefined symbol(referred from main.o) Cube_GPIO\Cube_GPIO.axf: Error: L6218E: Undefined symbol LED_GPIO_Init (referr…