Area of Triangle, Java
29,464
1/2
is being computed in integer arithmetic, so like with all integer division, it's truncated -- in this case, to 0
. Just write 0.5
and you'll be fine.
Author by
user1294476
Updated on June 29, 2021Comments
-
user1294476 almost 3 years
I'm trying to build an app which computes the area of a triangle, as per my homework assignment. Not quite sure where I'm going wrong, but I input the lengths of the triangle and would like the proper area displayed according to Heron's formula:
sqrt (s(s-a) (s-b) (s-c))
. All I'm getting for output is-0.0
. Here is the code: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; } }
And then I have another file for the main args
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); } }
-
Greg Hewgill about 12 yearsOr alternately,
1.0/2
, or(sideA + sideB + sideC) / 2
. -
user1294476 about 12 yearsThanks! Worked like a charm.