gpt4 book ai didi

java - 我无法让我的 java 程序打印结果

转载 作者:行者123 更新时间:2023-12-04 10:21:29 25 4
gpt4 key购买 nike

我被 mooc.fi 类(class)困住了;其中我无法让我的程序打印结果。
该程序应该“打印给定范围内所有可被 3 整除的数字”。数字按从小到大的顺序打印。

谢谢您的帮助。

public class DivisibleByThree {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = Integer.valueOf(scanner.nextLine());
int b = Integer.valueOf(scanner.nextLine());

divisibleByThreeInRange(a, b);
}

public static void divisibleByThreeInRange(int beginning, int end) {
for (int i = 0; i >= beginning && i <= end; i++) {
if (i % 3 == 0) {
System.out.println(i);
}
}
}
}

最佳答案

欢迎来到堆栈溢出,熵!

问题是这一行:

for (int i = 0; i >= beginning && i <= end; i++) { ... }

让我们把那个 for环形:
  • for说它是一个循环,第一个语句初始化循环,第二个语句给出执行下一次迭代的条件,第三个语句表示如何在交互后更新。引号内是在交互中执行的内容。
  • 循环初始化:int i = 0定义循环变量 i并将其设置为 0。
  • 循环条件:i >= beginning && i <= end .所以如果i,我们将执行下一次迭代位于输入的范围内。
  • 循环帖子更新:i++只是增加计数器。

  • 如此有效,您从 i 开始为 0,然后在该数字在输入范围内时执行循环。但是 如果 i在您的范围之外开始,循环永远不会执行 ,因为条件一开始就为假。

    您可以通过输入使范围包含 0 来确认这一点,即输入一个非正的下限和一个非负的上限范围(如 -10 到 10)。然后,满足初始条件,您的循环愉快地显示了所有可被 3 整除的数字。

    所以只需将循环更改为
    for (int i = beginning; i <= end; i++) { ... }

    它将按预期工作:从范围的开头开始,然后结束——完成!

    这些 for 循环有时会很棘手,不是吗? :)

    顺便说一句,这是一篇很棒的第一篇文章。有一个 Minimal Reproducible Example (MRE,也称为 reprex 或 MCVE [Minimal, Complete, Verifiable Example])总是帮助他人快速验证、调试和解决您的问题。

    关于java - 我无法让我的 java 程序打印结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60825447/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com