这是我到目前为止所做的:
import javax.swing.JOptionPane;
public class Right_Triangle
{
public static void main (String args [])
{
String x = JOptionPane.showInputDialog ("What is the length of your hypotenuse?");
String y = JOptionPane.showInputDialog ("What is the length of your base?");
String z = JOptionPane.showInputDialog ("What is the height of your triangle?");
double a = Double.parseDouble(x);
a = Math.pow (x,2);
b = Math.pow (y,2);
c = Math.pow (z,2);
if (a + b == c)
{
System.out.println ("Right triangle");
}
}
}
为什么不编译?
答案 0 :(得分:1)
您正在解析其中一个输入以创建双精度数:
double a = Double.parseDouble(x);
但你还需要为其他两个输入(y和z)
执行此操作此外,您需要使用解析后的双打(a,b,c)进行计算,而不是使用原始字符串(x,y,z)进行计算。
另请参阅SpiderPig关于舍入错误的评论。如果您的三角形具有整数边长,那么您应该将它们表示为整数,而不是双精度 - 并使用x*x
而不是math.pow(x,2)
来平方边长