我在學習Java,當我嘗試輸入雙浮點數時遇到了一些問題。使用nextDouble掃描double
像這樣。
import java.util.Scanner;
class Program {
public static void main (String[] args) {
Scanner inp = new Scanner(System.in);
double number = inp.nextDouble();
System.out.println(number);
}
}
如果我進入我的輸出將是1000.0。但是,如果我進入1000.0,我得到這個錯誤:
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.nextDouble(Scanner.java:2456)
at test.Test.main(Test.java:6)
Java Result: 1
我怎麼能解決這個問題?
如果輸入'1000,0',該怎麼辦? – BackSlash
1000.0應該可以。 – Maroun
@MarounMaroun我認爲這取決於你所在的國家。我在意大利,十進制數字是用逗號而不是點寫的,所以如果我輸入'1000.0',我得到一個'InputMismatchException',如果我輸入'1000,0',一切都很順利。 – BackSlash