毕达哥拉斯定理的编码

来源:爱站网时间: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

还有其他缺陷,例如:

  1. 这里:if (c = 0)您正在分配值。
  2. methodif内部有return语句,但是如果没有命中怎么办?什么也没有返回。
  3. [(float)method (c),您正在将定义为float的内容转换为float
  4. 而不是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;
            }
        }
}

上一篇:如何在Hibernate Java obj中添加@XmlTransient

下一篇:在对象创建时将UUID生成为ID,而不是使用@GeneratedValue

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载