我想在一行中输入"iPhone 6s","iphone","35000.0",但我得到了java.util.InputMismatchException。在下面的代码中,在第三行中,当我将字符串,字符串,双精度类型的值传递给方法时,我收到错误。
System.out.println("Enter modelname,companyname and price");
Mobile[] mb1 = new Mobile[1];
mb1[0] = new Mobile(sc.nextLine(),sc.nextLine(),sc.nextDouble());
test.add1(mb1);
您的输入(来自java.util.Scanner(需要2个字符串,然后是一个浮点数。
java.util.InputMismatchException
显示Scanner.nextFloat()
呼叫正在收集意外输入、不是数字或不符合输入所需的条件。
例如,Scanner.nextFloat()
将导致以下输入出错:
foo
basically any character that's not from 0-9 (except for periods, which serve as decimal places)
10..
10.0.
..1
1_000
但这些都没关系。
10.
.1
1000
10.1
1942285930580465743673490674390867430698903609346397643069436990
nextLine()
一次拍摄完整的输入行。我相信你想要的是用的是next()
,那只需要下一个词。(对于浮点数,您可以继续使用nextFloat()
(。