毕达哥拉斯定理的编码
来源:爱站网时间:2021-09-16编辑:网友分享
[嗨,我是Java的初学者,我正在尝试编写代码来解决毕达哥拉斯的定理。到目前为止,这是我所做的事情,但是在第14行以及“ ...
问题描述
[嗨,我是Java的初学者,我正在尝试编写代码来解决毕达哥拉斯的定理。到目前为止,这是我所做的事情,但是在第14行上我仍然收到错误的错误消息,在第31行上出现了“类,接口或枚举预期”错误。
public class Pythagoras{
public static void main(String[] args){
double a1 = 5.2;
float a = (float)a1;
double b1 = 8.4;
float b = (float)b1;
double c1 = 0;
float c = (float)c1;
float resultC = (float)method (c);
System.out.println(resultC);
public static float method(float c){
if (c = 0){
float result = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
return result;
}
if (b = 0){
float result = Math.sqrt(Math.pow(c, 2) - Math.pow(a, 2));
return result;
}
if (a = 0){
float result = Math.sqrt(Math.pow(c, 2) - Math.pow(b, 2));
return result;
}
}
}
}
思路一:
在Java中,您不能在另一个方法内定义一个方法。您将不得不从public static float method(float)
中拉出方法main
。
还有其他缺陷,例如:
- 这里:
if (c = 0)
您正在分配值。 -
method
在if
内部有return语句,但是如果没有命中怎么办?什么也没有返回。 - [
(float)method (c)
,您正在将定义为float
的内容转换为float
。 - 而不是
double a1 = 5.2; float a = (float)a1;
,为什么不写float a = 5.2f
?
思路二:
假设您正在尝试从垂线和底角计算斜边,可以使用以下程序:
public class Pythagoras {
public static void main(String[] args) {
double p = 5.2;
double b = 8.4;
double h = getHypotenuse(p, b);
System.out.printf("Hypotenuse for p=%.2f and b=%.2f is %.2f", p, b, h);
}
public static double getHypotenuse(double p, double b) {
return Math.sqrt(Math.pow(p, 2) + Math.pow(b, 2));
}
}
输出:
Hypotenuse for p=5.20 and b=8.40 is 9.88
思路三:
main是一个方法,您要在其中声明另一个方法。你不能那样做。试试这个
public class Pythagoras{
public static void main(String[] args){
double a1 = 5.2;
float a = (float)a1;
double b1 = 8.4;
float b = (float)b1;
double c1 = 0;
float c = (float)c1;
float resultC = (float)method (c,b,a);
System.out.println(resultC);
}
public static float method(float c,float b,float a){
if (c == 0){
float result = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
return result;
}
if (b == 0){
float result = Math.sqrt(Math.pow(c, 2) - Math.pow(a, 2));
return result;
}
if (a == 0){
float result = Math.sqrt(Math.pow(c, 2) - Math.pow(b, 2));
return result;
}
}
}