2016-11-21 92 views
-3
public HashMap<String, double[][]> GradientDescent(double[][] ratingData_norm, double[][] ratingData_binary, double[][] theta, double[][] X, int iter, double alpha, double lambda) 

    { 
     HashMap<String, double[][]> result= new HashMap<String, double[][]>(); 

     double[][] theta_tran=new *double[theta[0].length][theta.length]();* 
     double[][] theta_grad=new *double[theta.length][theta[0].length]();* 
------- 
--- 
-- 
--} 

我收到錯誤在2D雙陣列的聲明。 類型不匹配錯誤。不能轉換雙[] [] []雙[] [] 任何人都可以告訴我我錯了,我怎麼能解決它?類型不匹配錯誤,二維數組聲明

非常感謝提前!!!!

回答

1

我修正了你發佈的代碼,所以我可以嘗試編譯它。

import java.util.*; 

public class Test { 

    public HashMap<String, double[][]> GradientDescent(double[][] ratingData_norm, double[][] ratingData_binary, double[][] theta, double[][] X, int iter, double alpha, double lambda) 
    { 
     HashMap<String, double[][]> result= new HashMap<String, double[][]>(); 

     double[][] theta_tran=new double[theta[0].length][theta.length](); 
     double[][] theta_grad=new double[theta.length][theta[0].length](); 
    } 

} 

然後我編譯它:

> javac -d . Test.java 
Test.java:9: error: ';' expected 
     double[][] theta_tran=new double[theta[0].length][theta.length](); 
                    ^
Test.java:10: error: ';' expected 
     double[][] theta_grad=new double[theta.length][theta[0].length](); 
                    ^
2 errors 

對於你問一個問題,下一次,你應該張貼的代碼,就可以被編譯最小量,並能證明你的問題。

你不應該用任何奇怪的方式修改你的代碼來表明你的問題在哪裏。我們不知道這些星號是否是您的代碼的實際部分。如果您必須添加內容,請使用評論。

而且您應該包含您收到的錯誤消息。錯誤信息使得你很清楚你做錯了什麼。

這可以被編譯:

import java.util.*; 

public class Test { 

    public HashMap<String, double[][]> GradientDescent(double[][] ratingData_norm, double[][] ratingData_binary, double[][] theta, double[][] X, int iter, double alpha, double lambda) 
    { 
     HashMap<String, double[][]> result= new HashMap<String, double[][]>(); 

     // No brackets needed for array instantiation 
     double[][] theta_tran=new double[theta[0].length][theta.length]; 
     double[][] theta_grad=new double[theta.length][theta[0].length]; 

     return null; 
    } 

} 

而這還不是你在所有描述的錯誤。如果您確實有類型不匹配,那麼您所發佈代碼中的任何地方都沒有。

+0

非常感謝! –