public static int rowSum(int[][] d)
{
for (int i = 0; i < d.length; i++)
{
int sum = 0;
for (int j = 0; j < d[i].length; j++)
{
sum = sum + d[i][j];
}
}
return sum;
}
// says cant find symbol "sum"
Run Code Online (Sandbox Code Playgroud)
是的,你试图使用你在一个无效的范围内定义的变量......
public static int rowSum(int[][] d)
{
for (int i = 0; i < d.length; i++)
{
int sum = 0; //definition
for (int j = 0; j < d[i].length; j++)
{
sum = sum + d[i][j];
}
} //scope of sum variable ends here
return sum; //not valid access!!! sum is not defined here.
}
Run Code Online (Sandbox Code Playgroud)
把它放在外面一圈:
public static int rowSum(int[][] d)
{
int sum = 0; //definition
for (int i = 0; i < d.length; i++)
{
for (int j = 0; j < d[i].length; j++)
{
sum = sum + d[i][j];
}
}
return sum; //not valid access!!!
} //scope of sum ends here
Run Code Online (Sandbox Code Playgroud)
但是你还有另外一个问题......你给一个整数添加了两个值...我不确定你是否想要那个,即使你需要得到一个整数,我还要把它们作为双精度加上,并返回一个整数. ..