我無法弄清楚我在這裏做錯了什麼。我剛剛寫了一個很好的類似代碼。一旦我掌握瞭如何使用掃描儀類的問題。我正在研究一個程序,它需要一個直角三角形的高度和基數,然後計算周長,面積和斜邊。但是它爲每個方法返回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