2017-01-14 10 views
-1

ランダムに0〜9の値を持つx のyマトリックス(x < = y)を作成するにはどうすればよいでしょうか?xが0以上でmax(x y)/ 2でJava?ランダムな値でモック配列を塗りつぶす宿題割り当て

行列のサイズ(x、y)が与えられます。また、私はこの行列を他のクラスの同じインデックスを持つ同じ整数で使用する方法を知りたいと思います(例えば 'public class Game {...}')。私は初心者だので、私のためにそれが簡単にしてください:)

を私のコード今のところ:

import java.util.Random; 

public class Solution { 

    int a[][]; 

    public void P(int x, int y){ 
     Random r = new Random(); 
     a = new int[x][y]; 

     for (int i=0; i<x; i++){ 
      for (int j=0; j<y; j++){ 
       a[i][j] = r.nextInt(10); 
       System.out.print(a[i][j] + " "); 
      } 
      System.out.println(); 
     } 

     System.out.println(); 

     int zeros = 0; 
     for (int i=0; i<x; i++){ 
      for (int j=0; j<y; j++){ 
       if(a[i][j]==0){ 
        zeros ++; 
       } 
      } 
     } 
     System.out.println(zeros); 
    } 

    public int[][] getA() { 
     return a; 
    } 
} 
+1

にSEが宿題の質問のためではない、ゼロを表し、最初のブール行列を作成します。代わりに、正確な問題を述べてください。 –

答えて

1
Random r = new Random(); 
    a = new int[x][y]; 

    int noZeros = r.nextInt((y*x)/2-x) + x; 

    boolean z[][] = new boolean[x][y]; 


    for (int i = 0; i < noZeros; i++) { 
     z[r.nextInt(x)][r.nextInt(y)] = true; 
    } 

    for (int i = 0; i < x; i++) { 
     for (int j = 0; j < y; j++) { 
      if (!z[i][j]) { 
       a[i][j] = r.nextInt(9) + 1; 
      } 
      System.out.print(a[i][j] + " "); 
     } 
     System.out.println(); 
    } 



    System.out.println(); 

    int zeros = 0; 
    for (int i = 0; i < x; i++) { 
     for (int j = 0; j < y; j++) { 
      if (a[i][j] == 0) { 
       zeros++; 
      } 
     } 
    } 
    System.out.println(zeros); 

私はその後、私は、乱数を選びましたが、1から9

+0

ありがとう! :Dあなたは私の他の質問にも私を助けることができますか? 他のクラスで同じインデックスの同じ整数を持つこの行列を使用する方法(例: 'public class Game {...}') – User654

+0

私は理解しているかどうかわかりませんが、クラスGameはクラスSolutionを拡張する必要があります。クラスGameに新しいオブジェクトクラスSolutionを作成し、getA()メソッドを呼び出さなければなりません。 – maro512

1

私が最初にランダムintを取得し、あなたは行列になりますどのように多くの0決定するであろうあなたの最小/最大範囲内から。それから私は他のxy - numZerosランダムな整数を計算します。最後に、マトリックス内の各セルについて、結合リスト(あなたの0s +他のランダムな整数)からランダムな要素を選んで、選択時にその要素を削除します。私の解決策では

関連する問題