【发布时间】:2016-04-12 08:19:02
【问题描述】:
我想要一个哈希映射来存储键和值的整数。通过使用嵌套的 for 循环,我认为它应该可以工作。我似乎没有完全理解嵌套循环中的程序流程。在我的代码下面:
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<Integer, Integer> hMap = new HashMap<>();
//initializing running variables here to reuse in "display hashmap" loop
int key = 48;
int values = 65;
//set keys and values to hashmap via nested for-loop
for (key = 48; key < 74; key++) {
for (values = 65; values < 91; values++) {
hMap.put(key, values);
}
}
//display hashmap via nested for-loop
for (key = 48; key < 74; key++) {
System.out.println("Key: " + key + ", Value: " + hMap.get(key));
}
}
}
这是当前控制台输出:
Key: 48, Value: 90
Key: 49, Value: 90
Key: 50, Value: 90
Key: 51, Value: 90
Key: 52, Value: 90
Key: 53, Value: 90
...
这是我想要的控制台输出:
Key: 48, Value: 65
Key: 49, Value: 66
Key: 50, Value: 67
Key: 51, Value: 68
Key: 52, Value: 69
Key: 53, Value: 70
...
我现在知道内部 for 循环会一直运行直到满足结束条件,因此会覆盖变量 value。但是如何才能实现如上所示的预期控制台输出?
【问题讨论】:
-
为什么我的问题被否决了?我尽力做到尽可能精确。
标签: java for-loop collections hashmap nested-loops