![](/img/trans.png)
[英]Algorithm to determine whether a given number N can become hypotenuse of right triangle with all 3 integral sides
[英]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.