几何区域计算器

时间:2016-08-07 20:54:45

标签: java math methods calculator area

我正在尝试用Java制作一个面积计算器,它将根据用户给定的尺寸计算三角形的面积。我可以让用户从菜单中选择三角形选项并输入它们的尺寸,但是当我尝试使用方法来计算面积时,它只打印出0.0

{
    Scanner tbaseChoice = new Scanner(System.in);
    System.out.println("What is the base?");
    double selectionb = tbaseChoice.nextDouble();
    tbaseChoice.equals(Tbase);

    Scanner theightChoice = new Scanner(System.in);
    System.out.println("What is the height?");
    double selectionh = theightChoice.nextDouble();
    theightChoice.equals(Theight);

    System.out.println("BASE:" + selectionb + " " + "HEIGHT:" + selectionh);

    //tbaseChoice.equals(Tbase);
    //theightChoice.equals(Theight);

}

public static void calculateArea() {
   double triangleArea = Theight * Tbase;
   System.out.print("Area=" + triangleArea);
}

2 个答案:

答案 0 :(得分:2)

问题是您不应该使用equals类的Scanner方法为TheightTbase变量分配值。您应该改为使用=赋值运算符来代替。所以用{/ p>替换theightChoice.equals(Theight);

Theight = selectionh;

tbaseChoice.equals(Tbase);

Tbase = selectionb;

为什么您的代码之前没有工作,可以从此链接看到https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#equals(java.lang.Object)

equals类中的Scanner方法继承自Java的Object类,它只返回一个布尔值。在之前的代码中,您正在检查Scanner对象是否等于另一个对象,但是没有使用返回的布尔值。因此,您的TbaseTheight变量并未发生变化。

答案 1 :(得分:0)

您可以尝试使用这些代码。也许这会对你有所帮助

public class AreaCalculator {
    static double base=0.0;
    static double height=0.0;

    public static void main(String args[]){
        //Scanner object for input
        Scanner scanner=new Scanner(System.in);
        System.out.println("What is the base?");
        base=scanner.nextDouble();
        System.out.println("What is the height?");
        height=scanner.nextDouble();
        System.out.println("BASE:" + base + " " + "HEIGHT:" + height);
        System.out.println("Area is: "+triangleArea());
    }

    public static double triangleArea(){
        return (.5*base*height);
    }
}