繁体   English   中英

找出直角三角形的斜边

[英]Find Hypotenuse of right triangle

分配:

编写一个名为Hypo的方法,该方法计算直角三角形的斜边。 此方法接受两个表示三角形边的双精度值。 Hypo方法计算并在屏幕上显示直角三角形第3边的值。 main()方法应使用输入框从用户读取两个双精度值,然后调用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;
    }


}

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

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

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

您可以只使用Math.hypo()

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)可能就足够了。 此外,您在代码顺序方面遇到了一些问题(例如:您在错误的点计算斜边),并且您有一些冗余/未使用的代码。

 \\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));
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM