如何找到用户在Java中输入的整数的SUM和平均值?

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

我需要检查用户输入是什么,并且仅在用户输入正整数时才运行程序。如果他们输入的数字小于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();
        }


    }
}
java java.util.scanner user-input
1个回答
0
投票

为了重新提示用户输入另一个值,您将需要使用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) // 

请记住,如果用户输入的数字不是数字,则应该处理情况,这样您的程序就不会中断。

© www.soinside.com 2019 - 2024. All rights reserved.