2017-03-18 9 views
0

バイナリコンバータへの10進数を作成しようとしていますが、このコード部分は単なるテストサンプルです。このテストプログラムでは、配列の各要素を出力したいので、プログラムをそのようにすることはできません。ここで 配列をスキャンして配列の要素と入力を比較する方法

は私の現在のコードです:

int[] nums = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; 
    int dec; 
    int out = 0; 
    Scanner scan = new Scanner(System.in); 

    System.out.println("Type decimal number."); 
    dec = scan.nextInt(); 

    for(nums[out] = nums[out] ; out < 16 ; out++); 
    { 
      System.out.println(out + "\n");//I want to print each element just to test my code . 
    } 

これは、出力は私が手:私はこれを取得する必要があります

16 

は:

0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 

誰かが私を示してくださいすることができ私は間違っているの?あなたがnums配列の内容を印刷したい場合は

+0

なぜこれにアップフォートがありますか? – Sikorski

答えて

2

があるため、16個しか得られません。 forループの最後にがあります。

for(nums[out] = nums[out] ; out < 16 ; out++);

削除すると、urコードが機能するはずです。ところで、あなたはPNSが示唆したようにコードを変更することを検討すべきです。

0

、ちょうどforループでoutパラメータを初期化します。

for (int out = 0; out < nums.length ; out++); 
{ 
    System.out.println(nums[out] + "\n"); 
} 

をあなたはScanner介して読み出さ番号を印刷したい場合は、直接その操作を行います。

System.out.println(dec + "\n"); 

上記は勿論変換も比較もしないので、そのようなことが必要な場合は質問を明確にする必要があります。

+0

printlnステートメントで "out"に下線が引かれている場合、 "outは変数に解決できません" – SteveTwist

+0

上記のコードに従ってコードを実行すると、エラーは発生しません。 'for'ループの外側で' out'を印刷しようとすると、もちろん認識できません。 – PNS

関連する問題