Java-为字符输入时出现意外中断



Java新手,在弄清楚为什么不起作用时,它在接受用户输入的中途意外停止。我已经评论了它在哪里断裂。错误消息:线程"main"java.util.InputMismatchException"中的异常

有人能帮忙吗?

import java.util.Scanner;
public class BasicInput {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
//Initializations
int userInt = 0;
double userDouble = 0.0;
String userString = "";
char character = '?';
//Take User Input
System.out.println("Enter integer: ");
userInt = scnr.nextInt();
System.out.println("Enter double: ");
userDouble = scnr.nextInt();
/* ERROR OCCURS HERE */
System.out.println("Enter character: ");
character = scnr.next().charAt(0);
System.out.println("Enter string: ");
userString = scnr.next();
//Print User Input
System.out.println(userString);
System.out.print(character);
System.out.print(userDouble);
System.out.print(userInt);
//Cast double to an integer
int userInt2 = 0;
userInt2 = (int)userDouble;
System.out.print(userInt2);
return;
}
}

将scnr.nextInt((的值分配给userDouble时会发生错误。您应该使用scnr.nextDouble((。此外,当您键入双引号时,请使用","作为分隔符,而不是"。">
它应该有效:(

读取int而不是double,将其更改为类似下的double

//Take User Input
System.out.println("Enter integer: ");
userInt = scnr.nextInt();
System.out.println("Enter double: ");
userDouble = scnr.nextDouble();

最新更新