1. 使用HashMap编写一程序实现存储某班级学生信息,要求在屏幕上打印如下列表

学号   姓名   性别   年龄

001    张三   男      23

002    李四   男      22

要求:学生信息有用户输入,且提供检索、删除操作

Student类代码,对学生信息进行封装

public class Student {
/**学号、姓名、性别、年龄*/
private int id;
private String name;
private char sex;
private int age;
public Student(int id, String name, char sex, int age) {
super();
this.id = id;
this.name = name;
this.sex = sex;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
} }

测试类代码,实现在控制台对学生信息进行增加,删除,查询。

 import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Set; public class Test4 {
/**
* @param args
*/
public static void main(String[] args) {
Student student1 = new Student(001, "张三", '男', 20);
Student student2 = new Student(002, "王舞", '女', 21); HashMap<Integer, Student> map = new HashMap<Integer, Student>();
map.put(student1.getId(), student1);
map.put(student2.getId(), student2);
System.out.println("学生信息如下:");
print(map);
System.out.println();
while (true) {
System.out
.println("请选择你要操作的方式:\n学生信息增加请输入:1 学生信息检索请输入:2 学生信息删除请输入:3 退出请输入:4");
BufferedReader input = new BufferedReader(new InputStreamReader(
System.in));
try {
switch (Integer.parseInt(input.readLine())) {
// 增加学生信息
case 1:
System.out.println("请输入要增加的学生信息,学号、姓名、性别、年龄");
String[] split = input.readLine().split(" ");
Student student3 = new Student(Integer.parseInt(split[0]),
split[1], split[2].charAt(0),
Integer.parseInt(split[3]));
map.put(Integer.parseInt(split[0]), student3);
print(map);
break;
// 检索学生信息
case 2:
System.out.println("请输入要查询的学生的学号:");
Student search = map.get(Integer.parseInt(input.readLine()));
if (search != null) {
System.out.println("检索到学生的信息是:" + search.getId() + "\t"
+ search.getName() + "\t" + search.getSex()
+ "\t" + search.getAge());
}
break;
//删除学生信息
case 3:
System.out.println("请输入要删除的学生的学号:");
Student remove=map.remove(Integer.parseInt(input.readLine()));
if(remove!=null){
System.out.println("要删除的学生是:\n" + remove.getId()
+ "\t" + remove.getName() + "\t"
+ remove.getSex() + "\t" + remove.getAge());
}
break;
case 4:
System.exit(0); default:
break;
} } catch (IOException e) {
e.printStackTrace();
}
} } static void print(HashMap<Integer, Student> map) {
// 通过key来获取对应的值
Set<Integer> keySet = map.keySet();
System.out.println("学号\t姓名:\t性别:\t年龄:");
for (Integer id : keySet) {
System.out.println(id + "\t" + map.get(id).getName() + "\t"
+ map.get(id).getSex() + "\t" + map.get(id).getAge());
}
} }

使用HashMap编写一程序实现存储某班级学生信息的更多相关文章

  1. 程序阅读:简单C++学生信息管理系统

    课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 [程序阅读]阅读并执行以下的程序,找出当中出现 ...

  2. 从零自学Java-3.在程序中存储和修改变量信息

    1.创建变量: 2.使用不同类型的变量: 3.在变量中存储值: 4.在数学表达式中使用变量: 5.把一个变量的值赋给另一个变量: 6.递增/递减变量的值. 程序Variable:使用不同类型的变量并赋 ...

  3. 基于数组或链表的学生信息管理系统(小学期C语言程序实训)

    1.基于数组的学生信息管理系统 实验内容: 编写并调试程序,实现学校各专业班级学生信息的管理.定义学生信息的结构体类型,包括:学号.姓名.专业.班级.3门成绩. 实验要求: (1) main函数:以菜 ...

  4. 大数据学习day25------spark08-----1. 读取数据库的形式创建DataFrame 2. Parquet格式的数据源 3. Orc格式的数据源 4.spark_sql整合hive 5.在IDEA中编写spark程序(用来操作hive) 6. SQL风格和DSL风格以及RDD的形式计算连续登陆三天的用户

    1. 读取数据库的形式创建DataFrame DataFrameFromJDBC object DataFrameFromJDBC { def main(args: Array[String]): U ...

  5. CSharpGL(11)用C#直接编写GLSL程序

    CSharpGL(11)用C#直接编写GLSL程序 +BIT祝威+悄悄在此留下版了个权的信息说: 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharp ...

  6. (十) 编写UVC程序

    目录 编写UVC程序 流程简述 11个ioctl函数 查询属性 VIDIOC_QUERYCAP 枚举格式 VIDIOC_ENUM_FMT 查询当前格式 VIDIOC_G_FMT 尝试某种格式 VIDI ...

  7. 编写wordcount程序

    一.程序概述 1.此次编写的程序为邹欣老师<构建之法>科书2.4.2 wordcount程序. 2.我写的wordcount程序要实现的功能整体可以总结为: ① 统计word文档中的字符数 ...

  8. 如何编写 Python 程序

    如何编写 Python 程序 从今以后,保存和运行 Python 程序的标准步骤如下: 对于 PyCharm 用户 打开 PyCharm. 以给定的文件名创建新文件. 输入案例中给出的代码. 右键并运 ...

  9. 大数据之路week07--day03(Hadoop深入理解,JAVA代码编写WordCount程序,以及扩展升级)

    什么是MapReduce 你想数出一摞牌中有多少张黑桃.直观方式是一张一张检查并且数出有多少张是黑桃. MapReduce方法则是: 1.给在座的所有玩家中分配这摞牌 2.让每个玩家数自己手中的牌有几 ...

随机推荐

  1. HZOI2019 砍树 整除分块

    题目链接:https://www.cnblogs.com/Juve/articles/11207540.html(密码你懂的)——————————>> 这题... 一开始想的二分,但此题不 ...

  2. 图像复原MATLAB实现

    前言:本篇博客先介绍滤波器滤除噪声,再介绍滤波器复原,侧重于程序的实现. 一:三种常见的噪声 二:空间域滤波 空间域滤波复原是在已知噪声模型的基础上,对噪声的空间域进行滤波.空间域滤波复原方法主要包括 ...

  3. 微信小程序多商品评价评星提交

    <form bindsubmit="submitComment"> <block wx:for="{{commentList}}" wx:ke ...

  4. 19-10-26-F

    ZJ一下: T1码了暴力但是并没有开出来身高的神奇性质…… T2打模拟,但是只摸了卅分 T3不会,码了一个测试点分治.10分 TJ一下: T1. 发现身高范围在$[140,200]$时,直接去重跑$\ ...

  5. sqlserver 如何按年按月创建分区函数

    我创建了分区函数如下:create partition function pf_month1(varchar(8))as range left for values ('20120131','2012 ...

  6. python基础---递归函数真题解析

    方法一.有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中. 即: {'k ...

  7. java文件配置MySQL

    MybatisConfig.java文件 import com.alibaba.druid.pool.DruidDataSource; import com.xman.common.mybatis.S ...

  8. compareTo)--list 根据某字段排序

    Collections.sort(actList, new Comparator<Act>() { @Override public int compare(Act o1, Act o2) ...

  9. webService学习五(插入片,---监控方法)

    WS Explorer工具的使用: 1- web服务浏览器 2-将对应的路径copy到这里 - 3- 4-- 5-- 6--请求的数据: 7--相应数据 二.使用TCP/IP Monitor-拦截HT ...

  10. springmvc:常用注解

    一.RequestParam注解 作用: 把请求中指定名称的参数给控制器中的形参赋值. 属性: value:请求参数中的名称. required:请求参数中是否必须提供此参数.默认值:true.表示必 ...