[英]“Column” cannot be resolved to a variable
我正在尝试一些练习New Boston视频的方法,但无法使它正常工作! 我对Java非常陌生,这是我的第一堂课。 我有一个任务要做一个二维数组,但我不知道如何使它显示在屏幕上。 这种做法来自Thenewboston的Java教程,视频#34,适用于他!
public class inventory {
public static void main (String[] args) {
int firstarray[][]= {{8,9,10,11},{12,13,14,15}};
int secondarray[][]={{30,31,32,33},{43},{4,5,6}};
System.out.println("This is the first array");
display(firstarray);
System.out.println("This is the second array");
display(secondarray);
}
public static void display (int x[][])
{
for(int row=0;row<x.length;row++)
{
for(int column=0;column<x.length;column++);
System.out.print(x[row][column]+"\t");
}
{
System.out.println();
}
}}
你已经放了;
在for循环之后,否定您所认为的是它的主体。 摆脱
for(int column=0;column<x.length;column++); // <--- this ;
在这种情况下, for
循环的主体(声明了column
变量并具有作用域)是)
之后, ;
之前的所有内容;
。 换句话说,什么都没有。 您实际上需要替换;
带有{
。
正确的缩进将有助于您编写语法正确的代码。
您在for循环的结尾使用分号,并且格式不正确。 还有两个括号,绝对是没用的:)。 正确的代码如下所示:
public static void display(int x[][]) {
for (int row = 0; row < x.length; row++) {
for (int column = 0; column < x.length; column++) {
System.out.print(x[row][column] + "\t");
}
System.out.println();
}
}
仍然显示功能不正确,由于行和列的长度不同,最后显示失败。
如果要使此功能起作用,请在第二个for周期中考虑实际ROW的长度,而不要考虑多少行(即x.length
)。
您只需要将column < x.length
更改为column < x[row].length
所以工作代码是这样的:
public static void display(int x[][]) {
for (int row = 0; row < x.length; row++) {
for (int column = 0; column < x[row].length; column++) {
System.out.print(x[row][column] + "\t");
}
System.out.println();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.