dポイントプレゼントキャンペーン実施中!

たびたびどうもです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("警告します.実行を停止してください.");

}
}

A 回答 (1件)

1)文法エラーを起こしてますので、まずそこを治す。


2)sの計算結果を捨ててますので、そこを見直す。
3)入力チェックが無意味になっていますので、そこを見直す。
    • good
    • 0
この回答へのお礼

ありがとうございます!

それと恐縮ですが、実際に動くプログラムを載せて貰えないでしょうか?

お手数ですが、お願いします。

お礼日時:2011/03/26 21:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!