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());
}
} }

最新文章

  1. 小丁带你走进git的世界三-撤销修改
  2. [LeetCode] Flatten Nested List Iterator 压平嵌套链表迭代器
  3. js之滚动置顶效果
  4. JsonView Tool
  5. java遍历hashTable
  6. Hibernate3的DetachedCriteria支持
  7. 第四课,T语言运算符(版本5.0)
  8. 使用t-sql从身份证号中提取生日
  9. Hibernate注解学习1
  10. hdu_5085_Counting problem(莫队分块思想)
  11. leetcode1033
  12. day6.python字典练习题
  13. spring配置redis注解缓存
  14. 解析url中参数
  15. KM匹配板子
  16. 减少MySQL的Sleep进程有效方法
  17. js命名空间写法
  18. linux分享二:Linux如何修改字符集
  19. 知乎日报 API的图片盗链问题
  20. Android学习之一

热门文章

  1. React State&amp;生命周期
  2. windows下 将tomcat做成服务,并于oracle后启动
  3. VS2012与windos版本不兼容问题
  4. Python导出DBF文件到Excel的方法
  5. leetcode 847. Shortest Path Visiting All Nodes 无向连通图遍历最短路径
  6. HTML5:使用Canvas和Input range控件放大缩小图片,剪裁,并上传图片
  7. Leetcode80. Remove Duplicates from Sorted Array II删除排序数组中的重复项2
  8. 7 个令人兴奋的 JavaScript 新特性
  9. 洛谷P3459 [POI2007]MEG-Megalopolis [2017年6月计划 树上问题02]
  10. Leetcode606.Construct String from Binary Tree根据二叉树创建字符串