2017-09-28 5 views
0

私は、下の画像のテスト3から期待される結果を得ようとしています。誰かがそれを解決できるように正しい方法で私を指すことができますか?私のコードでテストを実行し、予期しない応答を受けました

import java.util.Scanner; 
/** 
* Write a description of class TwoNumbers here. 
* @version 1.0 
*/ 
public class TwoNumbers 
{ 
    public static void main (String [] args) 
    { 
     Scanner input = new Scanner(System.in); 
     System.out.print("Enter two numbers (like this: 41.7 -22.5): "); 
     Double number1 = input.nextDouble(); 
     Double number2 = input.nextDouble(); 

     if(number1 == number2) 
     { 
      System.out.println("The first number is equal to the second"); 
     } 

     else if(number1 > number2) 
     { 
      System.out.println("The First number is greater than second"); 
     } 

     else 
     { 
      if(number1 < number2) 
      System.out.println("The first number is less than second"); 
     } 

} 

}

enter image description here

+0

が、これは宿題です:, equalsメソッドを使用してそれらを比較し、

double number1 = input.nextDouble(); double number2 = input.nextDouble(); 

それとも、あなたがjava.lang.Double Sを使用している場合は? – FrankK

+5

あなたの投稿を破壊しないでください。 – Glorfindel

+1

ようこそスタックオーバーフロー!あなたの投稿を破壊しないでください。 Stack Exchangeネットワーク上に掲載することで、SEがそのコンテンツを配布する権利(CC BY-SA 3.0ライセンス)(https://creativecommons.org/licenses/by-sa/3.0 /))。 SEのポリシーによって、どんな破壊行為も元に戻ります。この投稿とあなたのアカウントとの関連付けを解除するには、[解約リクエストの正しいルートは何ですか?](https://meta.stackoverflow.com/q/323395) –

答えて

1

あなたは2つのオブジェクト非プリミティブはあなたがdouble秒オートボクシングしている代わりに==

if(number1.equals(number2)){ 
    System.out.println("The first number is equal to the second"); 
} 
5

.equals()を使用する必要があります等しいかどうかを比較したい場合java.lang.Doubleに等しくなりますが、まったく同じ参照を使用することはありません。

あなたは原始的 doubleの使用する必要がありますいずれか

if (number1.equals(number2)) 
{ 
    System.out.println("The first number is equal to the second"); 
} 
関連する問題