编程挑战:Java 循环验证正数有什么错误? [已关闭]

问题描述 投票:0回答:1

嗨,我正在学习 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 do-while
1个回答
2
投票

我在提供的Java代码中发现了一些错误:

  1. 您使用名称
    scan
    声明了扫描仪变量。 因此,您应该使用
    scan.nextInt();
    来获取输入,而不是
    n = input.nextInt();
  2. Do while 语法似乎是错误的。 正确的语法:
    do {
        // code block to be executed
    } while (condition);
    
  3. 类名应该大写。 将
    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");
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.