尝试创建一个可以找到所有元素总和的2D数组。因为我使用驱动程序检查我的工作,所以我没有将数字输入2D数组。到目前为止,我有这个 - 但它不会成功。我究竟做错了什么?
public static double sum2d (double[ ][ ] array2d)
{
int sum = 0;
for (int row=0; row < array2d.length; row++)
{
for (int col=0; col < array2d[row].length; col++)
{
sum = sum + array2d [row][col];
}
}
return sum;
}
答案 0 :(得分:6)
宣布您的方法返回double
,但您将返回sum
int
。
编辑:正如@samrap在评论中所述,您的代码在此处存在格式错误。您缺少左括号{
。
答案 1 :(得分:1)
方法签名后你缺少一个大括号
public static double sum2d (double[ ][ ] array2d) { <----- put that in.
此外,您需要将sum
声明为double
。
double sum = 0;
请注意,如果方法返回double
,而sum
的类型为int
,则可以执行return sum
。这里的问题是sum + array2d [row][col];
是double
,因此如果没有演员表,则无法将其分配回int
(但这不是您想要做的)。
答案 2 :(得分:0)
将sum声明为double而不是int
答案 3 :(得分:0)
打包Homeworks;
公共类HomeWork86 { 公共静态无效main(String [] args){
int[][] a = {
{1,1,2},
{3,1,2},
{3,5,3},
{0,1,2}
};
int sum=0;
for (int i=0; i<a.length;i++){
for (int j=0;j<a[i].length;j++){
sum+=a[i][j];
}
System.out.println(sum);
sum=0;
}
} }