非常简约学生管理系统——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 ...
随机推荐
- 【Eureka】 作为服务注册中心,Eureka比Zookeeper好在哪里
著名的 CAP 理论指出,一个分布式系统不可能同时满足 C(一致性) A(可用性) 和 P(分区容错性).由于分区容错性 P 是在分布式系统中必须保证的,因此我们只能在 A 和 C 之间进行权衡. Z ...
- android Api操作SQLite数据库的示例代码
import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.databa ...
- python数据挖掘决策树算法
决策树是一个非参数的监督式学习方法,主要用于分类和回归.算法的目标是通过推断数据特征,学习决策规则从而创建一个预测目标变量的模型.如下如所示,决策树通过一系列if-then-else 决策规则 近似估 ...
- RabbitMQ学习之:(三)第一个RMQ的程序 (转贴+我的评论)
RabbitMQ for Windows: Building Your First Application Posted by Derek Greer on March 7, 2012 This is ...
- nginx.conf 配置 (反向代理,负载均衡,fastdfs model)
#user nobody;worker_processes 1; #error_log logs/error.log;#error_log logs/error.log notice;#error_l ...
- openstack部署cinder
controller 一.创建cinder数据库并设置权限 mysql -u root -p CREATE DATABASE cinder; GRANT ALL PRIVILEGES ON ...
- 1.ini读写操作
一.使用 TIniFile implementationvar ini:tinifile; path:string; {ini文件路径} section,key:string;{表示 ...
- TOMCAT web.xml 整理说明
JavaWeb项目中web.xml有关servlet的基本配置: 我们注意到,tomcat下的conf中也有一个web.xml文件,没错的,所有的JavaWeb项目中web.xml都继承自服务器下的w ...
- c++ 调试信息输出
1. 把打印信息输出到指定的文件里. #include <stdio.h> #include <stdlib.h> freopen("log.txt", & ...
- Python3 Selenium自动化web测试 ==>FAQ:隐式等待和sleep区别
FAQ: 情景1: 设置等待时间 A方法:sleep 线程休眠,但只单次有效,其他操作需要加载等待时间,需要再次添加time.sleep() B方法:implicitly_wait() from se ...