Создание исключения во входных данных для выхода из программы, которая принимает только целые числа и не останавливается - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь сделать исключение для char (0), если это «Q» или «q», чтобы выйти из этой программы.Он вычисляет тестовую оценку и позволяет пользователю вводить тестовую оценку (она не заканчивается) и принимает только цифры.Я хочу сделать исключение для буквы Q или q, хотя выйти из программы.

Я пытался использовать charAt, но не смог, потому что это целое число.

import java.util.Scanner;
public class Main {

    public static void main(String[] args) {
        boolean run = true;
        while (run) {
            Scanner input = new Scanner(System.in);
            System.out.print("Enter the test score: ");
            while (!input.hasNextInt()) {//Will run till an integer input is found
                System.out.println("Only number input is allowed!");
                System.out.print("Enter the test score: ");
                input.next();
            }

                int tS = input.nextInt();



                int sum = (10 + tS);
                System.out.println(sum);


            }
        }
    }

1 Ответ

0 голосов
/ 28 июня 2019

Один из возможных способов сначала принять строку, а затем с помощью .contains () проверить «q».

Если он содержит «q», выведите исключение, иначе разберите его на int.

Примерно так:

Scanner sc = new Scanner(System.in);
System.out.println("Enter Test Score");
String input = sc.next();
if (input.toLowerCase().contains("q")) {
    throw new RuntimeException("The input is not numeric");
}
int tS = Integer.parseInt(input);

// do something

Вы можете использовать цикл, чтобы продолжить прием ввода.

Надеюсь, это поможет. Удачи.

...