Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在数组[]中插入double?_Java_Arrays - Fatal编程技术网

Java 如何在数组[]中插入double?

Java 如何在数组[]中插入double?,java,arrays,Java,Arrays,我试图在数组中插入双精度(D[I][j]=distance;),但我得到了以下错误:需要数组,但找到了双精度!!我看不出我的错误!!plz帮助 代码如下: public static double[] D=new double[1000]; public static void main(String[] args) { // Data points matrice: X double X[][] = { {0.5,0.3,0.25,0.4},

我试图在数组中插入双精度(D[I][j]=distance;),但我得到了以下错误:需要数组,但找到了双精度!!我看不出我的错误!!plz帮助 代码如下:

 public static double[] D=new double[1000];

public static void main(String[] args) {
    // Data points matrice: X
    double X[][] = { {0.5,0.3,0.25,0.4},
                     {0.4,0.33,0.26,0.7},
                     {0.1,0.9,0.34,0.77},
                     {0.1,0.98,0.28,0.4},
                     {0.75,0.63,0.51,0.6}};

    for (int i=0; i<X.length-1;i++){ 
        for (int z=0; z<X.length; z++){
            double d=0;
            for (int j=0; j<X[i].length;j++){
                   if (i!=z){

                   System.out.println(X[i][j]+"et"+X[z][j]);  
                   d=d+Math.pow((X[i][j]-X[z][j]),2);
                   }else {d=0;}   

                   System.out.println(d);  
                   double distance= Math.sqrt(d);
                   D[i][j]=distance;

            }   
        System.out.println("*****"); 

        }
publicstaticdouble[]D=newdouble[1000];
公共静态void main(字符串[]args){
//数据点矩阵:X
双X[][]={{0.5,0.3,0.25,0.4},
{0.4,0.33,0.26,0.7},
{0.1,0.9,0.34,0.77},
{0.1,0.98,0.28,0.4},
{0.75,0.63,0.51,0.6}};

对于(int i=0;i而言,如果将
D
的声明更改为以下内容,则它将起作用:

public static double[][] D = new double[5][5];

这使得
D
成为一个二维数组而不是一维数组。

D
只是一个1D
数组
D[i]
返回一个double,因此
D[i][j]
无效
公共静态双精度[][]D=新双精度[1000][1000];
谢谢您的帮助!