线程主“java.util.InputMismatchException中的异常

时间:2014-01-30 17:16:15

标签: java

输入时,我从输出中收到错误消息:199.99

 Exception in thread "main" java.util.InputMismatchException
    at java.util.Scanner.throwFor(Scanner.java:909)
    at java.util.Scanner.next(Scanner.java:1530)
    at java.util.Scanner.nextFloat(Scanner.java:2388)
    at myproject2.Myproject2.main(Myproject2.java:11)

但我的代码没有任何错误:

package myproject2;

import java.util.Scanner;
public class Myproject2 {


    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);

    System.out.print("Enter purchase amount: ");
    double purchaseAmount = input.nextDouble();

    double tax = purchaseAmount * 0.06;
    System.out.println("Sales tax is " + (int)(tax * 100) / 100.0);


    }

}

请帮助我!

2 个答案:

答案 0 :(得分:1)

nextDouble方法希望输入类似于A,B。如果您的输入为199,99,则不会出现错误。

如果您希望它按照您所说的方式接受双打,则可以将Locale设置为Scanner

input.useLocale(Locale.US);

答案 1 :(得分:0)

input.useLocale(Locale.UK);

您需要提供Scanner的区域设置。

E.g。

Scanner input= new Scanner(System.in).useLocale(Locale.UK);