6

宿題に従って、三角形の面積を計算するアプリを構築しようとしています。どこが間違っているのかよくわかりませんが、三角形の長さを入力し、ヘロンの式に従って適切な面積を表示したいと思いますsqrt (s(s-a) (s-b) (s-c))。私が出力のために得ているのは-0.0. コードは次のとおりです。

import java.lang.Math;
public class Formula
{
    double area; double s;
    public double findArea(double sideA, double sideB, double sideC)
    { 
        s = 1/2 * (sideA + sideB + sideC);
        area = Math.sqrt(s*(s-sideA)*(s-sideB)*(s-sideC));
        System.out.println("The area of the triangle is " + area);
        return area;
    }
}

そして、メイン引数用の別のファイルがあります

import java.util.Scanner;

public class findTriangleArea {

    /**
     * @param args
     */

    public static void main(String[] args) {

        // TODO Auto-generated method stub
        Formula triangle = new Formula();
        double a,b,c;

        // input triangle lengths a, b, c 
        Scanner inputTriangle = new Scanner(System.in);
        System.out.println("Please enter triangle side a");
        a = inputTriangle.nextDouble();
        System.out.println("Please enter triangle side b");
        b = inputTriangle.nextDouble();
        System.out.println("Please enter triangle side c");
        c = inputTriangle.nextDouble();
        triangle.findArea(a, b, c);
    }
}
4

2 に答える 2

14

1/2は整数演算で計算されるため、すべての整数除算と同様に、切り捨てられます。この場合は に切り捨てられ0ます。書くだけ0.5で大丈夫です。

于 2012-04-24T00:48:11.517 に答える