我正在尝试打印出二维数组的列大小和行大小。我的程序编译但打印出来:
Welcome to DrJava. Working directory is C:\Users\mulk\Downloads
> run Lab4
Print out the rowsize: 4.0
Print out the columnsize: 4.0
>
行大小不应该是3.0吗?我从零开始算。
/*
* Purpose: Prints the row and column averages
*/
class Lab4
{
public static void main(String[] args)
{
int [][] scores = {{ 20, 18, 23, 20, 16 },
{ 30, 20, 18, 21, 20 },
{ 16, 19, 16, 53, 24 },
{ 25, 24, 22, 24, 25 }};
outputArray(scores);
}
public static void outputArray(int[][] array)
{
double rowsize = 0.0;
double columnsize= 0.0;
for(double i=0.0;i <= array.length;i++)
{
rowsize = array.length;
}
System.out.println("Print out the rowsize: " +rowsize);
for (double j = 0; j <=array[0].length; j++)
{
columnsize = array.length;
}
System.out.println("Print out the columnsize: " +columnsize);
}
}
答案 0 :(得分:0)
2D数组只是一个数组数组。因此,要找出有多少行,我们将执行arrayName.length,然后找出每列中有多少项,我们必须转到第一行(数组)并通过arrayName [0]找出该长度。长度。
因此您可以看到您正在使用的代码会找出两次有多少行。看起来应该是这样的:
double rowsize = 0.0;
double columnsize= 0.0;
rowsize = array.length;
System.out.println("Print out the rowsize: " +rowsize);
if(rowsize >= 1){
columnsize = array[0].length;
}
System.out.println("Print out the columnsize: " +columnsize);
我希望这已经解决了你的问题:)