2016-12-16 7 views
-2

Q. int 2次元配列 をランダムに0と1で塗りつぶして、 の0と1が何個あるかを出力するメソッドを記述します。 以下の私のコードであり、私はこの問題を解決する方法がわからない...int 2D配列に0と1をランダムに埋め込む方法は?

import java.util.Random; 


public class Randomfilled { 

    public static void main(String[] args) { 
     int[][] arry = new int[3][4]; 
     arrays(arry); 
    } 

    public static void arrays(int[][] arry) { 

     Random n = new Random(); 
     int z = 0; 
     int x = 0; 
     for (int i = 0; i < arry.length; i++) { 
      for (int j = 0; j < arry[0].length; j++) { 
       arry[i][j] = Math.abs(n % 2); 

       if (arry[i][j] == 0) { 
        z++; 
       } 
       if (arry[i][j] == 1) { 
        x++; 
       } 
      } 

     } 
    } 
} 
+3

修正が必要なものは?あなたのコードの望ましい結果と実際の結果を記述してください。 _ _ "_ –

+1

' Math.abs( "このコードが動作しないのはなぜですか?")には、デバッグのヘルプを求める質問が必要な動作、特定の問題またはエラー、および最短コードを含める必要があります。 'n.nextInt(2)'でなければなりません。 – 4castle

+1

'arry [i] [j] = n.nextBoolean()を使うことができますか? 1:0; '。しかし、あなたの指示によると、 "0と1でランダムに塗りつぶされたint 2D配列"が必要です。私はあなたがメソッドを呼び出す前に配列を埋めるべきだと思います。 –

答えて

0

配列データ挿入エラーを!

 for (int i = 0; i < arry.length; i++) { 
     for (int j = 0; j < arry[0].length; j++) { 
      arry[i][j] = n.nextInt(2);//Change 

      if (arry[i][j] == 0) { 
       z++; 
      } 
      if (arry[i][j] == 1) { 
       x++; 
      } 

     } 
関連する問題