Java 范围问题
我不知道我的代码有什么问题,它不会编译,因为编译器找不到变量k 我的代码:Java 范围问题,java,scope,Java,Scope,我不知道我的代码有什么问题,它不会编译,因为编译器找不到变量k 我的代码: public class t { public static void main(String args[]) { int r = 10; int c = 10; char[][] map = new char[r][c]; for(int i = 1; i < (r - 1); i++) {
public class t
{
public static void main(String args[])
{
int r = 10;
int c = 10;
char[][] map = new char[r][c];
for(int i = 1; i < (r - 1); i++)
{
for(int k = 1; k < (c - 1); k++);
{
map[i][k] = '$';
}
}
}
}
我一直认为这是一个范围问题,但是变量k在嵌套for循环中,所以应该可以,对吗?在k for循环的末尾有一个分号a;移除它。改变
for(int k = 1; k < (c - 1); k++);
{
map[i][k] = '$';
}
到
在k for循环的末尾有一个分号a;移除它。改变
for(int k = 1; k < (c - 1); k++);
{
map[i][k] = '$';
}
到
这是因为在下面一行的末尾附加了分号
for(int k = 1; k < (c - 1); k++)
这是因为在下面一行的末尾附加了分号
for(int k = 1; k < (c - 1); k++)
在Java中,可以使用不带大括号{}的控制语句,例如:
if(booleanFlag) doSomething();
else doSomethingElse();
// ...
for(String s : stringArray) System.out.println(s);
这就是您在代码中使用的内容:
for(int k = 1; k < (c - 1); k++); // iterate on the empty statement
for(int k = 1; k < (c - 1); k++);
只执行一次
在Java中,可以使用不带大括号{}的控制语句,例如:
if(booleanFlag) doSomething();
else doSomethingElse();
// ...
for(String s : stringArray) System.out.println(s);
这就是您在代码中使用的内容:
for(int k = 1; k < (c - 1); k++); // iterate on the empty statement
for(int k = 1; k < (c - 1); k++);
它只执行一次。在for循环的末尾有一个分号,用于初始化k-删除该分号,就可以了 在for循环的末尾有一个分号,用于初始化k-去掉这个分号,您就可以了 删除第二个for循环后的分号
分号是一个称为null语句的合法语句;那意味着什么也不做 删除第二个for循环后的分号
分号是一个称为null语句的合法语句;那意味着什么也不做 您的代码中有一个小错误:
for(int k = 1; k < (c - 1); k++); // iterate on the empty statement
for(int k = 1; k < (c - 1); k++);
结尾不应该有分号 您的代码中有一个小错误:
for(int k = 1; k < (c - 1); k++); // iterate on the empty statement
for(int k = 1; k < (c - 1); k++);
结尾不应该有分号 在第二个循环的末尾加上分号,删除它,它将有助于你的事业
for(int k = 1; k < (c - 1); k++);
^
在你的第二个循环结束时用分号,去掉它,它将有助于你的事业
for(int k = 1; k < (c - 1); k++);
^
除删除分号外:为变量和类选择更好的名称,并遵守Java命名约定。除删除分号外:为变量和类选择更好的名称,并遵守Java命名约定。lol,谢谢,我非常关注k,我没有看到分号,谢谢,我太专注于k了,我没有看到分号