很小的一个练习,可以参考一下啊~~~~~~

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进行编写的更多相关文章

  1. jsp学习之基于mvc学生管理系统的编写

    mvc开发模式:分别是 model层 view层 Control层 在学生管理系统中,model层有学生实体类,数据访问的dao层,view层主要是用于显示信息的界面,Control层主要是servl ...

  2. C程序范例(2)——学生管理系统”链表“实现

    1.对于学生管理系统,能够实现的方法有许多,但是今天我们用链表的方法来实现.虽然初学者很可能看不懂,但是不要紧,这是要在整体的系统的学习完C语言之后,我才编写出的程序.所以大家不必要担心.在这里与大家 ...

  3. 学生管理系统(SSM简易版)总结

    之前用 Servlet + JSP 实现了一个简易版的学生管理系统,在学习了 SSM 框架之后,我们来对之前写过的项目重构一下! 技术准备 为了完成这个项目,需要掌握如下技术: Java 基础知识 前 ...

  4. 05_学生管理系统,xml读写,布局的综合应用

     最终要做的项目目标: 2.编写Android清单文件AndroidManifest.xml <?xml version="1.0" encoding="utf ...

  5. 学生管理系统(springMVC)

    <Java Web编程>课程设计                                                                               ...

  6. Java 简化版学生管理系统(IO版)

    Student management system   学生管理系统IO版 详细知识点可参考一下几篇文章 常用API Java 之ArrayList集合及应用 Java 之IO流及应用 Compreh ...

  7. java课程设计 学生管理系统

    学生成绩管理系统 可实现功能 学生管理系统 查询学生信息:姓名.学号.性别.出生年月日.(学号自动生成且唯一) 查询学生成绩:每个人都有数学.Java与体育与选修课 查询学生课程 进行公选课选课 教师 ...

  8. java学生管理系统

    student类 package cn.itheima.Manag; /** * *标准类 * **/public class Student { //学号 private String id; // ...

  9. Java学生管理系统(IO版)

    图解: cade: student.java /* * 这是我的学生类 */ public class Student { //学号 private String id; //姓名 private S ...

随机推荐

  1. jsp页面,使用Struts2标签,传递和获取Action类里的参数,注意事项。<s:a action><s:iterator><s:param>ognl表达式

    在编写SSH2项目的时候,除了使用<s:form>表单标签向Action类跳转并传递参数之外,很更多时候还需要用到<s:a action="XXX.action" ...

  2. Netfilter 之 连接跟踪初始化

    基础参数初始化 nf_conntrack_init_start函数完成连接跟踪基础参数的初始化,包括了hash,slab,扩展项,GC任务等: int nf_conntrack_init_start( ...

  3. 第11组 团队Git现场编程实战

    第11组 团队Git现场编程实战 组员职责分工: 前端部分: 陈郑铧:构架的搭建,前端模块开发 陈益:前端模块开发 李镇平:前端模块开发 后端部分: 沈国煜:后端模块开发 王泽鸿:后端模块开发 林铮威 ...

  4. ElasticSearch1:基本概念

    ElasticSearch的基本概念 es基本概念: Elasticsearch是面向文档型数据库,一条数据在这里就是一个文档,用JSON作为文档序列化的格式 NRT:Nearly Real Time ...

  5. ubuntu下最好用的防火墙shadaarp ,带主动防御

          shada-arpfirewall-1.0alpha3.i386.rpm 所有基于rpm的x86 Linux(内核版本>=2.6.27) Mar 11 82.9 KB     sha ...

  6. centos7 下安装和配置 mongodb (重点)

    1.下载安装包 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.4.tgz 2.解压 tar -zxvf m ...

  7. laravel-5.6路由命名

    1.第一种:通过route路由中的as关键字来实现 1 Route::get('api/user',['as'='web.user'],'messageController@userInformati ...

  8. 解决Android Studio 升级时提示 Connection failed. Please check your network connection and try again问题

    一,问题: 无论mac还是windows可能都会出现这个问题,解决方案大同小异,就是修改VMOptions而已. 解决方案: Windows: 在\Android Studio\bin目录下找到 st ...

  9. CSS 优先级法则

    样式的优先级 多重样式(Multiple Styles):如果外部样式.内部样式和内联样式同时应用于同一个元素,就是使多重样式的情况. 一般情况下,优先级如下: (外部样式)External styl ...

  10. 信息学竞赛一本通提高版AC题解—例题1.1活动安排

    书中代码有误.书中为sort(a+1,a+n+1,Cmp). // // Created by yuxi on 19-1-13. // /* * * <信息学竞赛一本通-提高版>全部AC解 ...