我无法弄清楚我在这里做错了什么。我刚刚写了一个很好的类似代码。一旦我掌握了如何使用扫描仪类的问题。我正在研究一个程序,它需要一个直角三角形的高度和基数,然后计算周长,面积和斜边。但是它为每个方法返回0.0,我不知道我是否缺少某种语法,或者如果我真的搞砸了我的计算。有人能指出我正确的方向吗?直角三角形计算返回0?
public class RightTriangle {
private double height;
private double base;
private final double hypotenuse = Math.sqrt(Math.pow(height, 2) + Math.pow(base, 2));
public RightTriangle(double triHeight, double triBase)
{
triHeight = height;
triBase = base;
}
public double getPerimeter()
{
double perimeter = height + base + hypotenuse;
return perimeter;
}
public double getArea()
{
double area = (height + base)/2;
return area;
}
public double getHypotenuse()
{
return hypotenuse;
}
}
这里是我的主要方法:
import java.util.Scanner;
public class CalculateTriangle
{
public static void main(String[] args)
{
Scanner triangleHeight = new Scanner(System.in);
System.out.print("Enter Triangle Height: ");
double height = triangleHeight.nextDouble();
Scanner triangleBase = new Scanner(System.in);
System.out.print("Enter Triangle Base: ");
double base = triangleBase.nextDouble();
RightTriangle newTriangle = new RightTriangle(height, base);
newTriangle.getPerimeter();
double perimeter = newTriangle.getPerimeter();
newTriangle.getArea();
double area = newTriangle.getArea();
newTriangle.getHypotenuse();
double hypotenuse = newTriangle.getHypotenuse();
System.out.println(perimeter);
System.out.println(area);
System.out.println(hypotenuse);
}
}
您是否试图通过硬编码值来将'Scanner'从图片中取出?这将是我的第一步(将主程序转换为单元测试)。 –
'扫描仪'对象只需要一次 – rock321987
Jon Skeet感谢您的提示。我实际上需要接受输入,但是我可以在测试时不做。 – user3769297