У меня есть код Java ниже. Когда я ввожу целочисленное значение во ввод, он работает нормально (например, -4), но когда я ввожу 4.0, он ломается. Ошибка ниже. Может ли кто-нибудь помочь понять, что я делаю неправильно? Заранее благодарим.
import java.util.Scanner;
public class Main {
public static void main(String[] args ) {
int studentAge = 25;
double studentGPA = 3.45;
boolean hasPerfectAttendance = true;
String studentName = "Ivan Grey";
char studentFirstInitial = studentName.charAt(0);
char studentLastInitial = 'G';
System.out.println(studentAge);
System.out.println(studentGPA);
System.out.println(studentFirstInitial);
System.out.println(studentLastInitial);
System.out.println(hasPerfectAttendance);
System.out.println(studentName);
System.out.println(studentFirstInitial + " " + studentLastInitial +
" has a GPA of " + studentGPA);
System.out.println("What do you want to update it to?");
Scanner input = new Scanner(System.in);
studentGPA = input.nextDouble();
input.close();
System.out.println(studentFirstInitial + " " + studentLastInitial +
" now has a GPA of " + studentGPA);
}
}
Ошибка: Исключение в потоке «main» java .util.InputMismatchException в java .base / java .util.Scanner.throwFor (Scanner . java: 939) в java .base / java .util.Scanner.next (Сканер. java: 1594) в java .base / java .util.Scanner.nextDouble (Сканер . java: 2564) на Main.main (Main. java: 24)