- 締切済み
へロンの公式 java
たびたびどうもですw 以下のプログラミングをjavaで書くには、どうすればよいでしょうか? 三角形ABCの3辺の長さa, b, cを読み込んで、へロンの公式 s = √p(p-a)(p-b)(p-c) ここに、p = (a+b+c)/2によって面積sを計算して出力するプログラムを作りなさい。ただし、3辺の長さを一度に読み込み、そのうちいずれかがゼロ以下であるか、またはa<b+c, b<c+a, c<a+bのいずれかが満たされていない場合には、警告を表示して実行を停止するものとする。なお、(1)書式無し、(2)小数点以下5桁、全幅10桁の固定小数点、(3)仮数部小数点以下5桁、全幅14桁の浮動小数点の3通りの書式で続けて出力させるものとする。 実行例; 三角形の3辺の長さを入力しなさい;2.5 2 1.5 三角形の面積は1.5です 三角形の面積は 1.50000です 三角形の面積は 1.50000e+00です ちなみに自分でここまでやってみました。どこが違うのでしょうか? import java.util.Scanner; class Mondai { public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); System.out.print("三角形の3辺の長さを入力>"); double a = stdIn.nextInt(); double b = stdIn.nextInt(); double c = stdIn.nextInt(); double p = (a + b + c)/2; s = Math.sqrt(p * (p - a) * (p - b) * (p - c)); double s = stdIn.nextInt(); if (0 > a) System.out.println("警告します.実行を停止してください."); else if (0 > b) System.out.println("警告します.実行を停止してください."); else if (0 > c) System.out.println("警告します.実行を停止してください."); else if ((b + c > a) && (c + a > b) && (a + b > c)) System.out.printf("三角形の面積は%3dです. \n", s); System.out.printf("三角形の面積は%10fです. \n", s); else System.out.println("警告します.実行を停止してください."); } }
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- osamuy
- ベストアンサー率42% (1231/2878)
1)文法エラーを起こしてますので、まずそこを治す。 2)sの計算結果を捨ててますので、そこを見直す。 3)入力チェックが無意味になっていますので、そこを見直す。
お礼
ありがとうございます! それと恐縮ですが、実際に動くプログラムを載せて貰えないでしょうか? お手数ですが、お願いします。