java - 我没有使用 LinkedHashMap 获得代码中值的正确键
问题描述
嗨,所以我被困在这里,如果有人可以帮助我,请我尽力在这里解释。代码工作正常,但它是错误的。
因此,我在问题所在的示例中向下突出显示(粗体),并用黄色注释了应该适合我的代码的内容。
我的 LinkedHashMap 的值:( 字符串,字符串)
cards.put("a", "1");
cards.put("b", "2");
cards.put("c", "3");
cards.put("d", "4");`
实际代码示例:
打印“a”的定义
输入> 1
正确答案
打印“b”的定义
输入>一个
错误的答案
打印“c”的定义
输入> 2
错误的答案。正确的是“3”,你刚刚写了“c”的定义
//这里应该是“b”,因为输入是2,2是地图中键b的值。
打印**“c”的定义
//这里也应该是“b”然后一切都错了它不匹配正确的键
输入> 3
正确答案
打印“d”的定义
输入> 1
错误的答案。正确的是“4”,你刚刚写了“d”的定义打印“d”的定义
在这里它打印“d”而不是“a”,我尝试了很多不知道如何解决这个问题的东西。
输入> 1
正确答案
这是代码源:
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
LinkedHashMap<String, String> cards = new LinkedHashMap<String, String>();
cards.put("a", "1");
cards.put("b", "2");
cards.put("c", "3");
cards.put("d", "4");
for (Map.Entry<String, String> entry : cards.entrySet()) {
String v = entry.getValue();
String k = entry.getKey();
System.out.println("Print the definition of " + "\"" + k + "\"");
String answer = in.nextLine();
if (answer.equals(v)) {
System.out.println("Correct answer");
} else if (!answer.equals(v) && !cards.containsValue(answer)) {
System.out.println("Wrong answer");
}
else if (!answer.equals(v) && cards.containsValue(answer)) {
System.out.println("Wrong answer. The correct one is " + "\"" + v + "\""
+ ", you've just written the definition of " + "\"" + k + "\"");
System.out.println("Print the definition of " + "\"" + k + "\"");
String answer2 = in.nextLine();
if (!answer2.equals(v) && !cards.containsValue(answer2)) {
System.out.println("Wrong answer. The correct one is " + "\"" + v + "\"");
} else {
System.out.println("Correct answer");
}
}
}
}
解决方案
System.out.println("Wrong answer. The correct one is " + "\"" + v + "\""
+ ", you've just written the definition of " + "\"" + k + "\"");
而不是k
,您将获得输入值的实际密钥并打印出来。
推荐阅读
- fractals - 如何放大这个 mandlebrot 代码
- jquery - 可点击 div 内的复选框未选中 - 淘汰赛
- php - laravel:我试图在 1 个查询中获取 2 个关系方法
- java - 如何使用 BitcoinJ 创建 Replace-By-Fee TX
- pentaho - 如何在 pentaho 报表设计器的值字段中添加 $ 符号
- java - 如何使用 List<> 从 Java 调用 kotlin 函数
- javascript - 将脚本添加到 vue 模板内部
- lua - ComputerCraft 跟踪 Lua “io” 库异常
- video - 如何将三个 ffmpeg 命令合二为一?
- r - 如何处理fluidrow rshiny内部的空间