- 締切済み
演算子 ^ は 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 );
- みんなの回答 (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
- himajin100000
- ベストアンサー率54% (1660/3060)
回答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
お礼
回答ありがとうございます。 無事解決できました。