输入时,我从输出中收到错误消息: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);
}
}
请帮助我!
答案 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);