我修正了你發佈的代碼,所以我可以嘗試編譯它。
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;
}
}
而這還不是你在所有描述的錯誤。如果您確實有類型不匹配,那麼您所發佈代碼中的任何地方都沒有。
非常感謝! –