Как найти СУММ и среднее целого числа, введенного пользователем в Java? - PullRequest
0 голосов
/ 28 мая 2020

Мне нужно проверить, что такое вводимые пользователем данные, и запустить программу только тогда, когда пользователь вводит положительное целое число. Если они вводят число меньше 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();
        }


    }
}

1 Ответ

0 голосов
/ 28 мая 2020

Чтобы повторно предложить пользователю ввести другое значение, вам нужно будет использовать , а l oop

Вот как ваш код может выглядеть примерно так .. .

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) // 

Имейте в виду, что вы должны обрабатывать случаи, когда пользователь вводит что-то, кроме числа, et c, чтобы ваша программа не сломалась.

...