Я в настоящее время начинающий, когда дело доходит до Java, и я наткнулся на то, что меня немного поразило.
Используя сканер, я попытался создать программу, которая позволяла мне сравнивать 2 числа. Как в:
num1 > num2
num2 < num1
num1 == num2
И т. Проблема заключалась в том, что всякий раз, когда я должен был вводить номер на консоль, когда меня спрашивали; если бы у номера был полный останов, это дало бы мне ошибку исключения несовпадения Я попытался преодолеть эту проблему путем реализации scanner.nextLine (); или (double) перед nextDouble (); метод. Но это не сработало. Может ли кто-нибудь помочь мне? Я попытаюсь объяснить это дальше, если мое объяснение проблемы не было достаточно хорошим, я впервые использую этот веб-сайт.
public static void numeralComparison() {
Scanner scanner = new Scanner(System.in);
System.out.println("Input the first number. Use a comma to indicate decimal points: ");
double num1 = (double) scanner.nextDouble();
scanner.nextLine();
System.out.println("Input the second number: ");
double num2 = (double) scanner.nextDouble();
scanner.nextLine();
if(num1 < num2) {
System.out.println(num1 + " < " + num2);
} else if (num2 < num1) {
System.out.println(num2 + " < " + num1);
} else {
System.out.println(num1 + " = " + num2);
}
scanner.close();
}
Если я поставил консоль с номером "30,0 ", это сработало. Это не исключение. Однако, если бы я, например, поставил ему «30.0», это вызвало бы исключение InputMismatch.
JDK Технические характеристики: Corretto 11, IntelliJ IDEA