gpt4 book ai didi

Java – 重复用户输入的方法

转载 作者:行者123 更新时间:2023-12-02 01:50:35 25 4
gpt4 key购买 nike

我想编写一个程序来记录公交车晚点的次数。

因此要求用户输入一个 int 值,表示迟到了多少分钟。

一旦输入负整数,程序就会停止。

我遇到的问题是让程序仅针对 0 或更多的输入重复。

无论输入什么 int,程序都会重复。

我做了如下的事情:

import java.util.Scanner;

public class LateBus {

public static void main(String[] args) {
int enter_minutes = enterMinutes();
loop(enter_minutes);
}

public static int enterMinutes() {
Scanner enter = new Scanner(System.in);
System.out.print("How many minutes late was the bus? ");

int late = enter.nextInt();
return late;
}

public static void loop(int a) {
while (a >= 0) {
enterMinutes();
}
}

}

最佳答案

让我们看看这个函数:

public static void loop(int a) {
while (a >= 0) {
enterMinutes();
}
}

a 的值永远不会改变。 a >= 0 将始终为 true 或永远不为 true,具体取决于 a 的初始值。由于 a 在此函数内部使用,因此您不应将其作为参数传递。并且您应该确保更改它:

public static void loop() {
int a = enterMinutes();
while (a >= 0) {
a = enterMinutes();
}
}

现在您可以这样调用该函数:

public static void main(String[] args) {
loop();
}

注意:

每个人在编写代码时都会犯逻辑错误。要找到它们,您需要学习如何调试。我建议您阅读https://ericlippert.com/2014/03/05/how-to-debug-small-programs/有关如何调试代码的一些提示,以便您可以自己发现此类问题。

关于Java – 重复用户输入的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53034010/

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