我想将输入作为"Iphone 6s","iphone","35000.0"在一行中,但我得到了java.util.InputMismatchException



我想在一行中输入"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()(。

相关内容

  • 没有找到相关文章

最新更新