• 締切済み

演算子 ^ は double,double に適用できません

次の計算をコンパイルすると[タイトル]のようなエラーメッセージが出てしまうのですが、このエラー解決するにはどのように書き換えるべきなのか教えてください。(できればfloat型で出力したいのですが…) double x1 = 12.1; double x2 = 20.5; double y1 = 33.3; double y2 = 15.6; double z; z = Math.sqrt( (x1-x2)^2 + (y1-y2)^2 );

みんなの回答

  • HarukaV49
  • ベストアンサー率53% (48/89)
回答No.2

ちなみに、  z = Math.hypot( x1-x2, y1-y2 ); と、するのが最善です。 http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/Math.html#hypot%28double,%20double%29

回答No.1

floatで表示するのは自分でやってもらうとして Math.powを使ってください http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Math.html#pow%28double,%20double%29 Javaにおいて^は累乗の演算子ではなくビット列の排他的論理和ですので。 http://java.sun.com/docs/books/tutorial/java/nutsandbolts/operators.html

7m2uux
質問者

お礼

回答ありがとうございます。 無事解決できました。

関連するQ&A

専門家に質問してみよう