2016-09-30 11 views
-2

このコードを実行して最初の変数のdouble値を入力すると、つまり、 マイルは、スレッド "main" java.util.InputMismatchExceptionの例外としてread.nextDouble()行にエラーを表示します。 Javadocからダブル変数の入力方法は?

/** 
* Created by Ranjan Yadav on 1.10.2016. 
*/ 
public class GasMileage { 
    public static void main(String[] args){ 
     java.util.Scanner read = new java.util.Scanner(System.in); 
     int counter = 0; 
     System.out.println("Miles Driven(press 1 to quit): "); 
     double miles = read.nextDouble(); 
     double totalGalon = 0; 
     double totalMiles = 0; 
     double milesPerGalon = 0; 
     double totalMilesPerGalon = 0; 
     totalMiles += miles; 
     while(miles != 1){ 
      System.out.println("Gallon used: "); 
      double galon = read.nextDouble(); 
      counter++; 
      milesPerGalon = miles/galon; 
      totalMilesPerGalon += milesPerGalon; 
      System.out.println("Miles per gallon: " + milesPerGalon); 
      System.out.println("Miles Driven(press 1 to quit); "); 
      miles = read.nextDouble(); 
      totalGalon += galon; 
      totalMiles += miles; 
     } 
     if(counter == 0){ 
      System.out.println("No values were entered.\nThanks for Using!\n\n"); 
     }else{ 
      double avg = totalMilesPerGalon/counter; 
      System.out.printf("Total miles driven: %.2f" , totalMiles); 
      System.out.printf("Total gallons used: %.2f" , totalGalon); 
      System.out.printf("Miles per gallon for all trips: %.2f" , totalMilesPerGalon); 
     } 
    } 
} 
+0

正確に何を入力していますか? – nhouser9

+0

コードがうまく動作します。多分入力が問題ですか?編集:たぶん "3.7"の代わりに "3,7"を入力している? –

+0

私はintellijで走っているマイルに対して100.23を書きました。 –

答えて

-1

例外:

  • InputMismatchException - 次のトークンがフロート正規表現に一致しない場合、または範囲外である

基本的に、you'r数字以外のものを入力する。

関連する問題