2020-07-29日报博客
1.完成的事情:
- 完成CodeGym Java基础level 10部分,并完成练习题
- 阅读《大道至简》。
2.遇到的问题:
- 基本数据类型的转换,扩大转换和缩小转换,以及在转换过程过可能出现的数据丢失。
3.明日计划:
/*taskKey="zh.codegym.task.task10.task1019"
功能还不够!
任务:程序从键盘读取一对(一个数字和字符串)并在屏幕上显示。
新任务:程序从键盘读取对(一个数字和字符串),并将其存储在 HashMap。
任何空的输入字符都表示数据输入结束。
这些数字可以重复。
字符串始终是唯一的。
输入的数据不得丢失!
然后该程序在屏幕上显示 HashMap 的内容。
每个新行显示一对。
示例输入:
1
张三
2
我
1
是
示例输出:
1 张三
2 我
1 是
Requirements:
1. 程序必须从键盘读取数据。
2. 程序应在屏幕上显示文本。
3. 在 main 方法中,声明 HashMap 变量并立即初始化该变量。
4. 程序应将从键盘读取的对填充到 HashMap 中。
5. 程序应根据条件显示 HashMap 的内容。键和值之间用空格分隔。每行显示一个值。*/
package zh.codegym.task.task10.task1019;
import java.io.*;
import java.util.HashMap;
import java.util.Map;
/*
功能还不够!
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
HashMap<String, Integer> map = new HashMap<>();
Integer t = -1;
while (true) {
String sId = reader.readLine();
if (sId.isEmpty()) break;
String name = reader.readLine();
if (name.isEmpty()) {
t = Integer.parseInt(sId);
break;
}
int id = Integer.parseInt(sId);
map.put(name, id);
}
for (Map.Entry<String, Integer> pair : map.entrySet()) {
String key = pair.getKey();
Integer value = pair.getValue();
System.out.println(value + " " + key);
}
if (t != -1)
System.out.println(t);
}
}
/*taskKey="zh.codegym.task.task10.task1018"
需要更正
任务:该程序演示了 HashMap 的工作原理:从键盘读取一组对(数字和字符串),将其放在一个 HashMap 中,然后显示 HashMap 的内容。
Requirements:
1. 程序必须从键盘读取数据。
2. 程序应在屏幕上显示文本。
3. Solution 类必须具有三个变量。
4. 程序应用从键盘读取的 10 对填充 HashMap。
5. 程序应显示 HashMap 的内容。每行显示一个值。*/
package zh.codegym.task.task10.task1018;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
/*
需要更正
*/
public class Solution {
HashMap<Integer, String> map;
static Integer index;
static String name;
public Solution() {
this.map = new HashMap<Integer, String>();
//map.put(index, name);
}
public static void main(String[] args) throws IOException {
Solution solution = new Solution();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 10; i++) {
int index = Integer.parseInt(reader.readLine());
String name = reader.readLine();
solution.map.put(index, name);
}
for (Map.Entry<Integer, String> pair : solution.map.entrySet()) {
index = pair.getKey();
name = pair.getValue();
System.out.println("Id=" + index + " Name=" + name);
}
}
}