我正在尝试创建一个值调用方法来解决斜边问题,同时让用户输入边。 我收到此错误“ 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中的方法斜边不能应用于给定类型;”代替
答案 0 :(得分:2)
这里:
hypotenuse(hyp);
这就是您**使用*该方法的方式。
在这里:
static double hypotenuse(double katetEn, double katetTo)
是您声明的方式。
注意:您已声明要使用两个参数调用它。没有一个!
换句话说:该消息告诉您您试图在哪一行调用方法...编译器无法理解。然后,您要做的是:看那条线。并将其用法与声明进行比较。