java - 尝试调用方法时出错“无法应用于给定类型”
问题描述
我正在尝试创建一个按值调用的方法来解决斜边,同时让用户输入边。我收到此错误“java:42:错误:Hypotenuse 类中的方法斜边不能应用于给定类型;”
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
}
我希望看到我的 hypotenuse(hyp) 中显示的方法的结果;但我收到错误“Hypotenuse.java:42:错误:Hypotenuse 类中的方法斜边不能应用于给定类型;” 反而
解决方案
这里:
hypotenuse(hyp);
这就是您**使用*该方法的方式。
这里:
static double hypotenuse(double katetEn, double katetTo)
是你声明它的方式。
注意:您声明它使用两个参数调用。不是一个!
换句话说:该消息告诉您您尝试在哪一行调用方法……以编译器无法理解的方式。然后你做什么:看看那条线。并将用法与声明进行比较。
推荐阅读
- angular - Angular Material - 对 mat-table 的数据进行排序
- r - 在 Shiny 中显示文本进度条
- linux - 我必须使用什么来代替 gnome 桌面环境来使用 qt 在 i.mx6 上运行虚拟键盘?
- python-3.x - 在 Python3 中通过 Pickle 加载模型时出错
- aws-cdk - 向 AwsCustomResource 添加条件
- python - 如何将此 python 文档转换为用于 selenium webdriver 的 nodejs
- postgresql - 将十六进制转换为日期格式 utc-5 Postgresql
- woocommerce - Woocommerce 单一产品页面:恢复默认布局/设计
- c# - 我的方法 PurchaseVents() 正在获取变量 totalCost12 和 vCountAmount 的值 = 0,而不是它们在函数 AddCount() 中获得的值
- fluentui-react - 如何重置 Fluent UI 选择组选择