2017-03-22 6 views
-1

は、誰もが、私は、X1、X2、Y1の距離を見つけようとして正解が届かない理由を、以下y2は私のJava数学の電源方式

double distance = Math.sqrt(Math.pow(x2-x1, 2) + Math.pow(y2-y1, 2)); 
のために働いていないコードの行で教えてもらえます

結果:

はX1の場所を入力します。4

はX2の場所を入力します:0

は、Y1の場所を入力します:2

はY2の場所を入力します:0

距離:4.47213595499958

あなたはそれが私の回避策は、単純に乗じた2であるべきときに私は4を取得していますが、私は得ることができない理由を私はまだ興味が見ることができるようにそれも働く。

public static void main(String[] args) { 

    double x1, x2, y1, y2; 

    Scanner scan = new Scanner(System.in); 

    System.out.print("Enter location of x1: "); 
    x1 = scan.nextDouble(); 

    System.out.print("Enter location of x2: "); 
    x2 = scan.nextDouble(); 

    System.out.print("Enter location of y1: "); 
    y1 = scan.nextDouble(); 

    System.out.print("Enter location of y2: "); 
    y2 = scan.nextDouble(); 

    double distance = Math.sqrt(Math.pow(x2-x1, 2) + Math.pow(y2-y1, 2)); 

    System.out.println("distance between: " +distance); 


} 

}

+1

答えをすることになっているあなただと思いますなぜコンパイルするために

double distance = Math.sqrt(Math.pow(x2-x1, 2)) ... 

する必要があります2?正解はあなたが得ている答えです。 – JackVanier

+1

実際には4.47213595499958であるべき4.47213595499958です。 – EJP

+0

(4,2)と(0,0)の間の距離は4.472です。あなたの入力の順序が期待どおりであることを確認してください。座標は(x1、y1)と(x2、y2)です。 –

答えて

0

私はあなたのコードが正しいことを信じて、あなただけの数学の間違った考えています。 (4,2)と(0,0)の間の距離は4.47でなければなりません。距離が2になる入力は(4,0)と(2,0)でなければなりません。

これらのテストを再確認してください。

0

このことができます場合は、「)」欠けている

double distance = Math.sqrt(Math.pow(x2-x1, 2) ... 

が正しく