分配:
编写一个名为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;
}
}
答案 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));
}
}