【问题标题】:Duplicate local variable x [closed]重复的局部变量 x [关闭]
【发布时间】:2018-06-23 01:23:04
【问题描述】:

我遇到了 for 循环的问题,说它是重复的局部变量?我仍在尝试了解这一点,并且据我所知,我已经对其进行了研究,以自己找到答案,所以我现在问大家。如果您不介意,我想解释一下为什么它不起作用?

int x = 3;
String name = "Dirk";
x = x * 17;
System.out.print("x is " + x);
double d = Math.random();

while (x > 12) {
    x = x - 1;
}

for (int x = 0; x < 10; x = x + 1) {
    System.out.print("x is now " + x);
}

if (x == 10) {
    System.out.print("x must be 10");
} else {
    System.out.print("x isn't 10");
}
if ((x < 3) & (name.equals("Dirk"))) {
    System.out.println("Gently");
}

【问题讨论】:

  • 您在第一行声明 x 两次 int x = 3; 并在 for 循环中 for (int x = 0; ..) { 来解决您的问题,只需使用不带类型的 for (x = 0;..,或在循环中使用另一个变量名 for (int y = 0;.. for示例
  • > 在 Java 中,在第一行定义 int x = 3; 和再次在循环内 for (int x = 0; x
  • 啊,好的!我认为最好使用的是从一开始就使用的那个,因为我希望它继续向下并继续执行该程序?我正在使用 Head First Java 书来学习我能做的事情。谢谢!

标签: java


【解决方案1】:

只需在for 循环中删除x 的第二个声明和重新分配:

for ( ; x < 10; x++) {
    System.out.print("x is now " + x);
}

否则你可以像这样简化一些指令:

x++ 而不是x = x + 1

x*=19 而不是x = x * 19

【讨论】:

  • 谢谢伊德里斯!
猜你喜欢
  • 1970-01-01
  • 2015-11-16
  • 2012-09-25
  • 1970-01-01
  • 1970-01-01
  • 2017-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多