我试图读取一个包含3个元素的.txt文件,第一个是" tri"然后接下来的两个是2.3和4.2之类的双打。问题是,当我尝试读取下一个double时,我不断收到编译器错误。如果有人能帮助我,我会非常感激。这是我有问题的代码:
if(order.equals("printAll"))
{
printAll();
if(textReader.hasNext())
{
order = textReader.next();
if(textReader.hasNextDouble())
{
dimension1 = textReader.nextDouble();
dimension2 = textReader.nextDouble(); <---**this line**
}
}
}
我指出的那条线一直给我错误:
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknown Source)
at arrayDrawer.main(arrayDrawer.java:88)
第88行是我指向的线。对不起,如果它含糊不清,我会在必要时发布更多代码。任何帮助将不胜感激。
该计划的输入:
rec 4.2 4.0
tri 4.9 9.3
tri 2.1 9.9
compAreaAll
printAll
del 4.9
printAll
答案 0 :(得分:0)
通过该输入,您的程序正在阅读最终的&#34; printAll&#34;,然后&#34; del&#34;作为订单号,那么&#34; 4.9&#34;作为double,然后它尝试使用nextDouble来读取最终的&#34; printAll&#34;并失败。订单&#34; del&#34;之后应该是两个双打。