尝试调用方法“无法应用于给定类型”时出错

时间:2019-09-02 18:35:54

标签: java methods

我正在尝试创建一个值调用方法来解决斜边问题,同时让用户输入边。 我收到此错误“ java:42:错误:类斜边中的方法斜边不能应用于给定类型;”

class Hypotenuse
{
    public static void main(String[] args)
    {   //Start bracket for main program
        double katetEn = 1.0;
        double katetTo = 1.0;
        double hyp;
        int svar;

        Scanner input = new Scanner(System.in);

        System.out.println("Dette programmet løser hypotenusen til en rettvinklet trekant"); //Let the user know the program purpose

        do
        {   //Start bracket of do loop
            System.out.println("Skriv in første katet i trekanten");    //Tell user to input the length of the first side
            katetEn = input.nextDouble();   //Set variable to users input value
                if (katetEn >= 0)   //Check that the value isn't negative
                {
                    System.out.println("Verdien du skrev inn er: " + katetEn + " Skriv inn verdien til det andre katetet:");    //Display the first side value
                }
                else    //If the value is negative, end the program with this "else"
                {
                    System.out.println("Du har skrevet inn en negativ verdi!");
                    System.exit(0);
                }
            katetTo = input.nextDouble();   //Set variable to users input value
                if (katetTo >= 0)   //Check that the value again isn't negative
                {
                    System.out.println("Verdiene du skrev inn er " + katetEn + " og " + katetTo );  //Display both values entered by the user
                }
                else    //End the program if value is negative
                {
                    System.out.println("Du har skrevet inn en negativ verdi!");
                    System.exit(0);
                }
                    System.out.println("Hypotenusen har verdien: " + hypotenuse(hyp) ); //Display the hypotenuse, given the two sides with user input values

            System.out.println("Vil du finne hypotenusen til en annen rettvinklet trekant?");   //Ask the user to continue loop or end
            System.out.println("JA = 1 / Nei = 0");                                             //Let the user know to input 1 for yes i want to continue, or 0 for no i don't
            System.out.println("Skriv inn et heltall for å svare på spørsmålet");               //Ask user for an int value to provide an answer
                svar = input.nextInt();
        }   //End bracket for do loop
        while (svar != 0);      //While statement to either continue loop, or end the program as requested.
    }                           //End bracket for main
    //Method for solving hypotenuse
    static double hypotenuse(double katetEn, double katetTo)
    {                           //Start bracket for hypotenuse method
        double hyp = Math.sqrt(Math.pow(katetEn, 2) + Math.pow(katetTo, 2));
    return hyp;
    }                           //End bracket for hypotenuse method
}   

我希望在我的斜边(hyp)中看到该方法的结果); 但出现错误“ Hypotenuse.java:42:错误:类Hypotenuse中的方法斜边不能应用于给定类型;”代替

1 个答案:

答案 0 :(得分:2)

这里:

hypotenuse(hyp);

这就是您**使用*该方法的方式。

在这里:

static double hypotenuse(double katetEn, double katetTo)

是您声明的方式。

注意:您已声明要使用两个参数调用它。没有一个!

换句话说:该消息告诉您您试图在哪一行调用方法...编译器无法理解。然后,您要做的是:看那条线。并将其用法与声明进行比较。