我正在尝试以下代码: -
HashMap<Integer,Integer[]> possibleSeq = new HashMap<Integer,Integer[] >();
possibleSeq.put(0,new Integer[]{1,4,5});
possibleSeq.put(1,new Integer[]{0,4,5,2,6});
Integer[] store = possibleSeq.get(0);
for(int i=0;i<store.length;i++)
{
System.out.print(store[i] + ' ');
}
输出是: -
333637
但由于我将key为0时的值等同于 store 变量,我打算将1 4 5
作为输出。所以我推导出Integer[] store = possibleSeq.get(0);
这不是在商店中存储possibleSeq.get(0)
元素的正确方法。那我应该怎么做?
答案 0 :(得分:13)
你的问题是你要将char ' '
(转换为int 32)添加到store [i],这是int。
请改用双引号。
System.out.print(store[i] + " ");
答案 1 :(得分:5)
System.out.print(store[i] + ' ');
当您打印(store[i] + ' ')
时,此处' '
为char
,它与整数值连接并打印,因此它变为(1 + 32)ascii space of space({{ 1}})是32.这是33,依此类推......
试试这个 -
有效 -
System.out.print((store[i]) + " ");
答案 2 :(得分:0)
您使用单引号而不是双引号。
使用此System.out.print(store[i] + " ");
答案 3 :(得分:0)
System.out.print(store[i] + ' ');// take a look at this store[0]=1
and char ' ' is 32
然后(1 + 32)你会得到。
所以改变你的代码
System.out.print(store[i] + " ");