public class Assignment1{
public static void main(String[] args) {
final int MAX_ROWS = 5 ;
for(int row = 1; row<= MAX_ROWS; row++) ;
{for (int star = 1; star <= row ; star++); }
为什么eclipse告诉我'行无法解析为变量'(最后一行中的行)
答案 0 :(得分:4)
for(int row = 1; row<= MAX_ROWS; row++) ;
删除;之后
答案 1 :(得分:2)
因为第一个for循环结束时的分号正在杀死行变量的范围。
for(int row = 1; row<= MAX_ROWS; row++) ; // <-- remove that ;
答案 2 :(得分:2)
那是因为
之后的半结肠 public static void main(String[] args) {
final int MAX_ROWS = 5 ;
for(int row = 1; row<= MAX_ROWS; row++) ;
{
for (int star = 1; star <= row ; star++);
}
半冒号导致行循环结束,因此if的范围已完成,因此row在第二个for循环中不可见。 删除分号,代码将起作用。
答案 3 :(得分:2)
在第一个;
之后,您有一个冗余(读取:错误)分号(for
)。这个分号终止了for
的块,由于row
仅在中定义了,因此您会在下一个块中收到错误。只需删除它,你就可以了:
public class Assignment1{
public static void main(String[] args) {
final int MAX_ROWS = 5 ;
for (int row = 1; row<= MAX_ROWS; row++)
// Semicolon removed here --------------^
{
for (int star = 1; star <= row ; star++);
// And you probably want to remove this ^
// And have a sensible body in this loop too.
}
答案 4 :(得分:1)
如果你仔细看看
for(int row = 1; row<= MAX_ROWS; row++) ; <--
等于
for(int row = 1; row<= MAX_ROWS; row++){
}
额外的;
导致在该行中立即关闭for循环上下文。因此行的上下文在该行结束。
删除;
。它应该工作。
答案 5 :(得分:0)
public class Assignment1{
public static void main(String[] args) {
final int MAX_ROWS = 5 ;
for(int row = 1; row<= MAX_ROWS; row++){
for (int star = 1; star <= row ; star++){
//Now insert some printing codes here
}
}
}
您已经在for循环之后插入了分号,从而终止了该循环,因此只需删除该分号,您的代码就可以正常运行