如何在验证后调用之前的 system.out.print 语句

How to recall previous system.out.print statement after validation

我正在尝试调用一个函数来验证用户输入,使其介于 0 和 1000 之间。我对此没有意见,但假设我在 2 月输入了错误的输入,我调用了 validate_input () 方法来检查这个,我会在我的 else 语句中添加什么来回忆这个。这可能真的很简单,但我已经很长时间没有使用 Java 并且不记得这是如何完成的。是否有某种功能可以使用?

private static void validate_input(int check_month){
        int month=check_month;
        if(month<0 && month>1000){
            System.out.println("Rainfall must be between 0-1000");
        }
        else{

        }

    }
    public static void main(String []args){
        Scanner keyboard=new Scanner(System.in);

        System.out.println("Please enter rainfall for 12 months:");

        System.out.print("January: ");
        int january=keyboard.nextInt();
        validate_input(january);
        System.out.print("February: ");
        int february=keyboard.nextInt();
        System.out.print("March: ");
        int march=keyboard.nextInt();

您没有"recall" 之前的提示。您可以从您的方法 return 一个 boolean,并在您的 main 中创建一个循环。此外,您需要一个逻辑 || 而不是 && (因为没有数字小于 0 且大于 1000)。像,

private boolean validate_input(int check_month){
    int month=check_month;
    return(month<0 || month>1000);
}

然后在 main

int january;
do {
    System.out.print("January: ");
    january=keyboard.nextInt();
} while (!validate_input(january));