我需要检查用户输入是什么,并且仅在用户输入正整数时才运行程序。如果他们输入的数字小于0,我需要让他们重新输入一个正数。我已经能够做到这一点,但是,我不知道如何实际允许他们输入另一个数字。
所有输出为“错误的值,请写一个正整数”。但是输入另一个整数的唯一方法是重新运行程序。我希望能够在该输出行旁边输入另一个整数。
输出例如
Please input a positive integer number N: -100
Wrong value, please write a positive integer: 100
[PROGRAM]
在此方面的任何帮助将不胜感激。
这是我的代码:
import java.util.Scanner;
public class SumAndAverage {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.println("*********");
System.out.println();
System.out.print("Please input a positive integer number: ");
int N = keyboard.nextInt();
if(N < 0){
System.out.println();
System.out.println("Wrong value, please write a positive integer");
} else{
int i = 1 ;
int sum = 0;
while(i <= N)
{
sum += i;
i++;
}
double dec = sum;
System.out.println();
System.out.println("The sum from 1 to " + N + " is: " + sum);
System.out.println();
System.out.printf("The average is: %.1f%n", dec/N);
System.out.println();
System.out.println("*********");
keyboard.close();
}
}
}
为了重新提示用户输入另一个值,您将需要使用while循环
这是您的代码可能看起来像...
boolean validInput = false;
int inputNum;
while(!validInput){
System.out.println("Please input a positive integer number N:");
inputNum = keyboard.nextInt();
if(num > 0)
{
validInput = true; // if number is positive, loop will be exited
} // otherwise, it will prompt the user again
}
// Whatever you want to do with the input (inputNum) //
请记住,如果用户输入的数字不是数字,则应该处理情况,这样您的程序就不会中断。