2016-07-05 15 views
-4

2つの浮動小数点数を入力するようユーザーに促し、これら2つの数の最小値を表示するテストプログラムを書くのJava-:は、これは私がこれまで持っているものである

import java.util.Scanner; 

public class FloatingPoint { 

    public static void main(String[] args) { 

     float num1; 
     float num2; 

     // Setup a Scanner called in to scan the keyboard 
     Scanner in = new Scanner(System.in); 
     System.out.print("Enter a floating point number: "); 
     num1 = in.nextInt();  // use nextInt() to read f 
     System.out.print("Enter a floating point number: "); 
     num2 = in.nextFloat(); // use nextDouble() to read f 

     System.out.println("The minimum of " + num1 + " and  " + num2 + " is " + min(num2, num1)); 
    } 

    public static float min(float num1, float num2) { 

     float result; 

     if (num1 < num2) { 
      result = num1; 

     } else { 
      result = num2; 
     } 

     return result; 
    } 
} 

私は本当にわからないんだけど何この時点で行うべきことです。私はそれが私にこのエラーが発生します実行すると:

Enter a floating point number: 33.33 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.nextInt(Unknown Source) at java.util.Scanner.nextInt(Unknown Source) at twofp.FloatingPoint.main(FloatingPoint.java:13)

+4

なぜ浮動小数点数を求めて、それを読み込むのに 'in.nextInt()'を使うのですか? – David

+4

人間が読めるようにコードの字下げを修正した場合、コードを実際に見ることができます。 – Andreas

+2

おそらく、 'java.util.InputMismatchException'と、' scan.nextInt() 'と書かれたときに浮動小数点を入力しているという事実が関係しています。 – ifly6

答えて

1

あなたはnum1 = in.nextInt();代わりのnum1 = in.nextFloat();を使用している、ので、型の不一致エラーがあります。整数を探しているときに浮動小数点数を入力しています。

関連する問題