非常简约学生管理系统——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 ...
随机推荐
- Linux设备驱动程序 之 原子操作
原子整数操作 当共享资源是一个简单的整数值时,可以使用内核提供的一种原子的整数类型,称为atomic_t,定义在<linux/types.h>中,操作定义在<linux/atomic ...
- typescript简单的应用
简单来说typescript就是新增一下方法,以及增加类型判断 一.普通的类型判断 1.布尔类型(boolean) let isDone: boolean = false let createdByB ...
- 1.ibatis核心类
- Java:基础知识点
1. 面向对象的特征 (1)封装:把过程和数据包围起来,对数据的访问只能通过已定义的界面.即现实世界可以被描绘成一系列完全自治.封装的对象,这些对象通过一个受保护的接口访问其他对象:(2)继承:是一种 ...
- 终端less命令执行完之后怎样退出
Linux中的less命令主要用来浏览文件内容,与more命令的用法相似,不同于more命令的是,less命令可往回卷动浏览以看过的部分,less 的用法比起 more 更加的有弹性.如果想退出les ...
- solr 初接触
solr教程,值得刚接触搜索开发人员一看 http://blog.csdn.net/awj3584/article/details/16963525
- Samrty技术的 初步了解
<span style="font-size:18px;">Smarty 技术的使用 <?php #smarty 测试 #引入smarty require_onc ...
- 【Rxjs】 - 解析四种主题Subject
原文地址: https://segmentfault.com/a/1190000012669794 引言 开发ngx(angular 2+)应用时,基本上到处都会用到rxjs来处理异步请求,事件调用等 ...
- Spring策略模式的实现
场景: 有时候一个业务方法有多个实现类,需要根据特定的情形进行业务处理. 例如:商店支付,我们可以使用支付宝.微信扫描农行.xxx行的快捷支付(而不是微信支付.支付宝支付二维码)购买商品. 实现代码( ...
- Asp.Net调用后台变量的三种写法
1.Asp.Net中几种相似的标记符号: < %=...%>< %#... %>< % %>< %@ %>解释及用法 答: < %#... %&g ...