2

私は次のコードを試しています:-

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

しかし、キーが0のときの値をストア変数と同等にしているので、出力として取得するつもりです.だから、これはストア内の要素を格納する適切な方法ではないと推測しまし1 4 5.だからどうすればいいですか??Integer[] store = possibleSeq.get(0);possibleSeq.get(0)

4

4 に答える 4

13

あなたの問題は、' 'int である store[i] に char (int 32 に変換される) を追加していることです。

代わりに二重引用符を使用してください。

System.out.print(store[i] + " ");
于 2013-07-31T09:05:00.120 に答える
5
System.out.print(store[i] + ' ');

あなたが印刷(store[i] + ' ')して' 'いるcharように、整数値と連結してここに印刷すると、スペース()のASCII値が32であるため(1 + 32)になります。これは33などです...

これを試して -

System.out.print((store[i]) + " ");

できます -

1 4 5 
于 2013-07-31T09:05:07.447 に答える
0

二重引用符の代わりに単一引用符を使用しています。

これを使ってSystem.out.print(store[i] + " ");

于 2013-07-31T09:07:55.860 に答える
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] + " ");
于 2013-07-31T09:08:44.930 に答える