1

次のコードがあります。

import java.util.*;

public class Lab7 {

/**
 * @param args
 */

public static void main(String[] args) {
    // TODO Auto-generated method stub

    double[][] g = { { 0, 1, 2 }, { 1, 0, 3 }, { 2, 3, 0 } };
    double mst[][] = MST.PrimsMST(g);
    PrintArray(g);                                                                      
    PrintMST(mst);
}

public static void PrintArray(double[][] g) {

    System.out.println(Arrays.deepToString(g));

}

public static void PrintMST(double[][] mst) {

    System.out.println(Arrays.deepToString(mst));

}

}

多次元配列の値を自分で入力する必要があるのではなく、ランダム配列を作成する RandomArray メソッドを追加する際に本当に助けが必要です (g)。

ランダム配列を作成するために以前に使用したコードは次のとおりです。

上記のコードで使用するように変更することはできないようですが、誰か助けてもらえますか?

public static ArrayList<Integer> RandomArray(int n)   {                 // Method called RandomArray which takes a     parameter as an integer  
    ArrayList<Integer> randomArray = new ArrayList<Integer>(n);         // Creates an ArrayList called randomArray, of size 'n'
    Random randNumGenerator = new Random();                             // Creates a random object
    for (int i = 0; i < n; i++){                                        // Creates a for loop which goes from i=0 to 'n'
        randomArray.add(new Integer(randNumGenerator.nextInt(256)));    // Will add a random int from 0 to 255, in the array 'randomArray'
    }
    return randomArray;                                                 // Returns randomArray
}
4

1 に答える 1

1

ニーズに合わせて方法を変更しました。

public static double[] randomArray(int n) {
    double[] randomArray = new double[n];
    Random randNumGenerator = new Random();
    for (int i = 0; i < n; i++) {
        randomArray[i] = randNumGenerator.nextDouble() * 256;
    }
    return randomArray;
}

今、あなたはそれを次のように呼び出すことができます

double[][] g = {randomArray(3), randomArray(3), randomArray(3)};
于 2012-11-22T18:44:10.480 に答える