嗨,我正在学习 Java 编程,我正在编写一个程序,要求用户仅输入正数。我想一直要求输入,直到用户输入正数,但我的代码似乎犯了一个错误。
当前代码是
import java.util.Scanner;
public class PositiveNumberInput {
public static void main(String[] args) {
int n;
Scanner scan = new Scanner(System.in);
do {
System.out.print("Enter a positive number: ");
n = scan.nextInt();
} while (n < 0); // I need to check for negative numbers
System.out.println("The number entered is: " + n);
scan.close();
}
}
当我输入负数时,我没有收到警告消息,并且循环似乎行为不正确。这段代码有什么问题?我怎样才能修复它以按预期工作?
任何提示或建议都会有帮助。谢谢!
我在提供的Java代码中发现了一些错误:
scan
声明了扫描仪变量。 因此,您应该使用 scan.nextInt();
来获取输入,而不是 n = input.nextInt();
do {
// code block to be executed
} while (condition);
tutorial
重命名为 Tutorial
。 (可选但推荐)更正代码供您参考:
public class Tutorial {
public static void main(String[] args) {
int n;
Scanner scan = new Scanner(System.in);
do {
System.out.print("Enter positive number:");
n = scan.nextInt();
} while (n > 0);
System.out.println("Program is terminated");
}
}