Повторять цикл после неверной записи - PullRequest
0 голосов
/ 15 октября 2018

Все расчеты в порядке.Я сталкиваюсь с проблемой, когда получаю недопустимую запись, и пользователь вводит новое положительное целое число.Это не начинает цикл снова.Любой совет с благодарностью!

    public static void main(String[] args) {

    Scanner in = new Scanner(System.in);
    int start;
    int i;
    double squareRoot;

    System.out.println("Please enter a positive integer: ");
    start = in.nextInt();

        if (start > 0){
        do {

            squareRoot = Math.sqrt(start);
            start--;
            System.out.printf("%.4f", squareRoot);
            System.out.println();
        }
        while (start >= 0);
        }

    else {
            System.out.println("The number you entered is not a postive integer.");
            System.out.println("Please enter an integer greater than zero: ");
            start = in.nextInt();
            }
}

}

1 Ответ

0 голосов
/ 15 октября 2018

Если вам нужно повторять одни и те же шаги снова и снова, вам нужен цикл.Поэтому добавьте цикл while с простым условием и выполняйте его снова и снова.

Вот пример кода.Я должен был дать возможность выйти, поэтому в качестве подсказки взял -1.

import java.util.Scanner;
public class HelloWorld {
 public static void main(String[] args) {

Scanner in = new Scanner(System.in);
int start;
int i;
double squareRoot;


System.out.println("Please enter a positive integer: ");
boolean quit = false;
while (!quit) {
    System.out.println("Enter the integer");    
start = in.nextInt();    
    if (start > 0){
    do {

        squareRoot = Math.sqrt(start);
        start--;
        System.out.printf("%.4f", squareRoot);
        System.out.println();

    }
    while (start >= 0);
    }
else if (start == -1) {
   quit = true;
}
else {
        System.out.println("The number you entered is not a postive integer.");
        System.out.println("Please enter an integer greater than zero: ");
}
}
}

}  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...