找到直角三角形的斜边

时间:2015-06-20 17:03:03

标签: java

分配:

编写一个名为Hypo的方法,它计算直角三角形的斜边。此方法接受两个表示三角形边的双精度值。方法Hypo计算并在屏幕上显示直角三角形的第三边的值。方法main()应该使用输入框从用户读取两个double值,然后调用Hypo,将这两个值作为参数发送给它。 Hypo()然后将结果打印在输出框中到屏幕上。 main()和Hypo()都位于同一个类中,名为A2。

这是我的代码。没有错误,但它没有给我任何输出。你帮助我了吗?

import java.util.Scanner;
import javax.swing.JOptionPane;

public class A2 
{

    public static void main(String[] args)
    {

        double height=Double.parseDouble(JOptionPane.showInputDialog("Enter       1st side of triangle: "));

        double base=Double.parseDouble(JOptionPane.showInputDialog("Enter 2nd     side of triangle: "));

        RightTriangle newTriangle = new RightTriangle(height, base);



        newTriangle.getHypotenuse();
        double hypotenuse = newTriangle.getHypotenuse();


        JOptionPane.showMessageDialog(null,hypotenuse);

    }
    public double height;
    public double base;
    public final double hypotenuse = Math.sqrt(Math.pow(height, 2) + Math.pow(base, 2));


    public A2(double triHeight, double triBase)
    {
        height = triHeight;
        base = triBase;
    }

    public double getHypotenuse()
    {
        return hypotenuse;
    }


}

4 个答案:

答案 0 :(得分:4)

在实际接受高度和宽度作为参数之前,您正在计算斜边。你有两个选择。一种是更改构造函数以初始化斜边。另一个(我的偏好)是这样的:

public double getHypotenuse()
{
      return Math.sqrt(Math.pow(height, 2) + Math.pow(base, 2));
}

这样,你甚至不需要存储斜边。

答案 1 :(得分:3)

您可以使用Math.hypo()

答案 2 :(得分:0)

import java.util.Scanner;
import javax.swing.JOptionPane;

public class A2 
{
    public static double height;
    public static double base;
    public static double hypotenuse;

    public static void main(String[] args)
    {
        height = Double.parseDouble(JOptionPane.showInputDialog("Enter 1st side of triangle: "));
        base = Double.parseDouble(JOptionPane.showInputDialog("Enter 2nd side of triangle: "));

        hypotenuse = Hypo(height, base);

        JOptionPane.showMessageDialog(null,hypotenuse);
    }

    public static double Hypo(double height, double base)
    {
        return Math.sqrt(Math.pow(height, 2) + Math.pow(base, 2));
    }
}

这可能有用......

一些事情:看起来你有你的类(A2)设置,以便你可以创建它的实例来表示你试图找到斜边的三角形,但是你去创建了一个RightTriangle。实际上,两者都可能不需要,因为A2类中的方法(根据您的指示称为Hypo)可能就足够了。此外,您的代码顺序存在一些问题(例如:您在错误的位置计算斜边),并且您有一些冗余/未使用的代码。

答案 3 :(得分:0)

 \\Sawh Class CCM
 import javax.swing.JOptionPane; 
 import javax.swing.text.*;
 import java.lang.Math;
 import java.text.DecimalFormat;

public class A2 
{

    public static void main(String[] args) 
    {
        double base;
        double height;
        base = Double.parseDouble(JOptionPane.showInputDialog("Enter base: "));
        height = Double.parseDouble(JOptionPane.showInputDialog("Enter height: "));
        Hypo(base, height);
    }

    public static void Hypo(double baseInp, double heightInp)
    {
        double hypo;
        DecimalFormat round = new DecimalFormat("0.00");
        hypo = Math.sqrt((Math.pow(baseInp, 2)) + (Math.pow(heightInp, 2)));
        JOptionPane.showMessageDialog(null, "Hypotenuse is: " + round.format(hypo));
    }

}