0

プログラムはコンパイルされますが、ファイルに書き込むと、次のようになります。

[[D@92ca580、[D@52257b34、[D@1abbbd0e、[D@1b78efd8.....

私のコードの何が問題なのですか? 私はそれを適切に構成しましたか?また、main メソッドで writefile メソッドを呼び出すとき、正しく実行できましたか?

更新**私はそれを修正しましたが、今ではこれがファイルに表示されます:

[[0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0], [0.0, 0.0]...

問題は、 writefile メソッドを直接呼び出さなかったことだと思います..それはなぜですか? どうすれば修正できますか?

 import java.io.*;

public class j4 {
  public static void main (String [] args) throws IOException
  {
    int numpoints = 100, dimension = 2, length = 100;//numpoints is set to 100, dimension is set to 2, length is set to 100

    //arrays are initializewd and declared
    double [] lengthscale = new double [dimension];
    double [][] locations = new double [numpoints][dimension];

    PrintWriter fileOut = new PrintWriter (new FileWriter ("arrayNumPoints.txt"));

    for(int m=0; m <length; m++){//for loop
      fileOut.println(java.util.Arrays.toString(locations) + ", ");//writes to file
    }
    fileOut.close ();//close file

  }//end main

  public static Double writefile(Double locations[][], Double lengthscale[], int dimension, int numpoints, Double length)throws IOException
  {

    for (int a = 0; a < dimension; a++){//for loop runs while a is less than dimension
      lengthscale[a] = length;//stores array
    }//end for loop

    for (int x=0; x < numpoints; x++){//for loop runs while x is less than numpoints
      for (int y=0; y < dimension; y++){//nested for loop runs while y is less than dimension
        locations [x][y]= (2 * Math.random() - 1) * lengthscale[y];//creates the range and choses random point within 
          return locations[x][y];

      }//end nested for loop
    }//end for loop

    //if program doesnt run through loop.. alternative return statement (but
     double b= 1;    
     return b;
  }//end writefile methos
}//end class
4

2 に答える 2