2017-02-08 3 views
0

三角形の面積を計算しようとしています。ユーザーに3つの数字(2倍)を求め、プログラム内の三角形の面積を計算しました。面積は小数点以下3桁以上でなければなりません。しかし、領域は0に出てくる。私は何を間違っているの?面積はゼロになり続けます。何が間違っているのですか?

 public static void main (String [] args) { 
     double sideA = 0.0; 
     double sideB = 0.0; 
     double sideC = 0.0; 
     int s = 1/2; 
     double area = 0.000; 

     Scanner scnr = new Scanner(System.in); 

     System.out.println("Enter Side A: "); 
     sideA = scnr.nextInt(); 

     System.out.println("Enter Side B: "); 
     sideB = scnr.nextInt(); 

     System.out.println("Enter Side C: "); 
     sideC = scnr.nextInt(); 

     DecimalFormat fmt = new DecimalFormat("0.###"); 

     area = Math.sqrt((s * (s - sideA) * (s - sideB) * (s - sideC))); 

     System.out.println("The area of the triangle is: " + fmt.format(area)); 

     return; 
+0

[Javaの整数の除算]の可能な複製(http://stackoverflow.com/questions/7220681/division-of-integers-in-java) – Tom

答えて

0

これは私があなたのコードを取り、それに勤務し、これは私がどのように見えるかでてきた、役立つことがあります。

public static void main (String [] args) { 
    double base; 
    double height; 
    double s = 2; 
    double area; 

    Scanner scnr = new Scanner(System.in); 

    System.out.print("Enter length for the Base: "); 
    base = scnr.nextInt(); 

    System.out.println("Enter Height of the triangle: "); 
    height = scnr.nextInt(); 

    DecimalFormat fmt = new DecimalFormat("0.###"); 

    area = (height*base)/s; 

    System.out.println("The area of the triangle is: " + fmt.format(area)); 
} 

これは、お住まいの地域のように157.5をプリントアウトします。あなたはそれに近づいていましたが、周囲の数式とその地域の数式を組み合わせているので、それがうまくいかなかったのです。

+0

三角形の面積を求める式を検索する必要があります。そうでない場合は、A =(h * b)/ 2 –

+0

また、3つの変数は必要ありません。三角形の面積を取得するには高さと底辺の長さだけが必要です –

関連する問題