【问题标题】:Could someone explain what is wrong with this java code?有人可以解释这个java代码有什么问题吗?
【发布时间】:2020-05-02 01:05:33
【问题描述】:
for (i = 0; i < 10; i++) {
    int sum;

    sum = sum+i;
}

System.out.println("Sum is " + sum);

我试图找出应该在 java 中运行的这段代码有什么问题。在 VSCode 中,我在尝试编译和运行时遇到了很多错误,但我似乎无法理解导致错误的原因。

【问题讨论】:

  • sum的初始值是多少?它在何时何地初始化? i是什么类型的?
  • 您遇到了什么错误?通常,这些错误会在其中包含非常有用的消息,告诉您代码有什么问题以及您必须做什么。
  • sum 需要在循环外定义
  • 您正在尝试在初始化之前访问 sum 的值。您在循环外声明它,并为其分配一个初始值。

标签: java loops for-loop error-handling compiler-errors


【解决方案1】:

sum 是在循环内部定义的,它只在那个范围内可用。

并且i变量没有声明,可以在循环中声明。

这是一种解决方法:

int sum = 0;

for (int i = 0; i < 10; i++) {
    sum = sum + i; // or sum += i;
}

System.out.println("Sum is " + sum);

【讨论】:

  • i 怎么样?它没有定义
  • i未声明
  • 是的,另一个错误,我没有注意到。现在它被宣布了
  • 您的代码的一个小错误是 i 没有被声明,您打算如何解决这个问题?
【解决方案2】:

sumfor 循环中声明。它是循环内的作用域结束,您试图在for 循环之外访问它,因此编译器会抛出错误。

【讨论】:

    猜你喜欢
    • 2012-10-26
    • 2020-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多