非常简约学生管理系统——HashSet进行编写
很小的一个练习,可以参考一下啊~~~~~~
1:注意;学生类中进行多个重要方法的重写
package com.xt.homework;
public class Student {
private String id;
private String name;
public Student(String id, String name) {
this.id = id;
this.name = name;
}
public Student(String id) {
this.id=id;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int hashCode() {
return this.id.hashCode();
}
@Override
public boolean equals(Object obj) {
if(obj instanceof Student&& this instanceof Student)
return (this.id.equals(((Student)obj).id));
return false;
}
@Override
public String toString() {
return "id=" + id + ", name=" + name ;
}
}
主要的类
package com.xt.homework; import java.util.HashSet;
import java.util.Scanner;
import java.util.Set; public class Test { public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Set<Student> student = new HashSet<>();
while(true){
System.out.println("欢迎登陆学生管理系统:\n1:添加学生信息;\n2:删除学生信息;\n3:修改学生信息;\n4:查询学生信息;");
int option = scanner.nextInt();
switch (option) {
case 1:{
System.out.println("------------添加学生-------------");
System.out.println("请输入学生的学号:");
String id=scanner.next();
System.out.println("请输入学生的姓名:");
String name=scanner.next();
student.add(new Student(id,name));
System.out.println("添加成功");
break;
}
case 2:{
System.out.println("************删除学生****************");
System.out.println("请输入删除学生的学号:");
String deleteID=scanner.next();
boolean result = student.remove(new Student(deleteID));
if (result) {
System.out.println("删除成功");
} else {
System.out.println("没有id为"+deleteID+"的学生!");
}
break;
}
case 3:{
System.out.println("################修改学生信息####################");
System.out.println("请输入需要修改的id号:");
String updateID = scanner.next();
System.out.println("请输入新的姓名:");
String name=scanner.next();
boolean tag = false;
for (Student student2 : student) {
if(student2.getId().equals(updateID)) {
student.remove(student2);
student.add(new Student(updateID,name));
System.out.println("修改成功");
tag=true;
break;
}
}
if(!tag) {
System.out.println("修改失败!!");
}
break;
}
case 4:{
System.out.println("@@@@@@@@@@@@@@@@@@查询学生信息@@@@@@@@@@@@@@@@@@@@@@@");
System.out.println("请输入需要查询学生的id:");
String selectID = scanner.next();
boolean tag = false;
for (Student stu : student) {
if(stu.getId().equals(selectID)) {
System.out.println(stu);
tag=true;
System.out.println("查询成功!!!");
break;
}
}
if(!tag) {
System.out.println("没有id为"+selectID+"的学生!");
}
break;
}
default:
System.out.println("没有该操作");;
}
}
}
}
非常简约学生管理系统——HashSet进行编写的更多相关文章
- jsp学习之基于mvc学生管理系统的编写
mvc开发模式:分别是 model层 view层 Control层 在学生管理系统中,model层有学生实体类,数据访问的dao层,view层主要是用于显示信息的界面,Control层主要是servl ...
- C程序范例(2)——学生管理系统”链表“实现
1.对于学生管理系统,能够实现的方法有许多,但是今天我们用链表的方法来实现.虽然初学者很可能看不懂,但是不要紧,这是要在整体的系统的学习完C语言之后,我才编写出的程序.所以大家不必要担心.在这里与大家 ...
- 学生管理系统(SSM简易版)总结
之前用 Servlet + JSP 实现了一个简易版的学生管理系统,在学习了 SSM 框架之后,我们来对之前写过的项目重构一下! 技术准备 为了完成这个项目,需要掌握如下技术: Java 基础知识 前 ...
- 05_学生管理系统,xml读写,布局的综合应用
最终要做的项目目标: 2.编写Android清单文件AndroidManifest.xml <?xml version="1.0" encoding="utf ...
- 学生管理系统(springMVC)
<Java Web编程>课程设计 ...
- Java 简化版学生管理系统(IO版)
Student management system 学生管理系统IO版 详细知识点可参考一下几篇文章 常用API Java 之ArrayList集合及应用 Java 之IO流及应用 Compreh ...
- java课程设计 学生管理系统
学生成绩管理系统 可实现功能 学生管理系统 查询学生信息:姓名.学号.性别.出生年月日.(学号自动生成且唯一) 查询学生成绩:每个人都有数学.Java与体育与选修课 查询学生课程 进行公选课选课 教师 ...
- java学生管理系统
student类 package cn.itheima.Manag; /** * *标准类 * **/public class Student { //学号 private String id; // ...
- Java学生管理系统(IO版)
图解: cade: student.java /* * 这是我的学生类 */ public class Student { //学号 private String id; //姓名 private S ...
随机推荐
- iOS中web app调试(mac)
原文 iOS中web app调试(mac).md 目录 一.真机联调配置 二.mac上Safari配置及真机联调 三.iOS模拟器使用 四.在iOS模拟器中安装app 近期公司vue项目开发,目的是一 ...
- DIV盒子模型介绍 div用法
- kafka配置的问题排查
问题反馈: xx现场测试环境下,整个平台的数据,除了原始数据模块,其他模块正常运行.相同版本的包,在线上环境上原始数据的订阅是正常的,但是测试环境没有,查看所有相关的日志,均没有报异常,且日志中有正常 ...
- sentinel备忘
git https://github.com/alibaba/Sentinel https://github.com/dubbo/dubbo-sentinel-supportdubbo http: ...
- 【log4j】log4j.properties 文件示例
# 下面的文件内容是写程序长期要用的,放在这里留个底#Output information(higher than INFO) to stdout and file.info/debug/error ...
- docker安装和基本命令
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口. ...
- Java特殊数据结构-TreeSet
资料来源 TreeSet初步入门总结 https://www.cnblogs.com/yzssoft/p/7127894.html TreeSet自然排序与比较器排序精讲 https://blog.c ...
- Python AES加密
使用pycrypto模块https://pypi.python.org/pypi/pycrypto/ >>> from Crypto.Cipher import AES>> ...
- R语言与概率统计(三) 多元统计分析(上)
> #############6.2一元线性回归分析 > x<-c(0.10,0.11,0.12,0.13,0.14,0.15,0.16,0.17,0.18,0.20,0.21,0. ...
- Jmeter接口测试 2=> Jmeter工具的介绍
第一节 接口测试流程 参数化:EXCEl文件参数化.数据库参数化.直接代码中配置.配置文件 预处理请求(前置处理):对请求的参数进行预处理.准备,如加密数据.组织测试数据 发起请求:httpclien ...