所以我在第18行收到错误,它描述了:
HelloWorld.java:18: error: method calcThirdChance in class HelloWorld cannot be applied to given types;
int t3 = calcThirdChance(t1+t2);
^
required: int,int
found: int
reason: actual and formal argument lists differ in length
这对我来说没什么意义,因为方法calcThirdChance返回单个int而我在该行中只声明一个int因此我不知道为什么它需要2个int,这据称是错误的原因。
public class HelloWorld{
public static void main(String []args){
System.out.println(simMin(70,80));
}
public static int calcThirdChance(int t1, int t2){
int c;
c = -1*(t1+t2);
double finalsend;
finalsend = Math.pow(2.71, c/100)*2;
finalsend*=150;
return (int)finalsend;
}
public static int simMin(int t1, int t2){
int t3 = calcThirdChance(t1+t2);
int total=t1+t2+t3;
int play = 50;
if(play<=t1){
return t1;
}
else if(play<=t1+t2){
return t2;
}
else{
return t3;
}
}
}
答案 0 :(得分:3)
calcThirdChance
需要2个参数
int t3 = calcThirdChance(t1, t2);
答案 1 :(得分:2)
您获得的错误与calcThirdChance
的返回类型无关。
您正在向方法传递一个参数:
calcThirdChance(t1+t2);
你需要传递两个:
calcThirdChance(t1,t2);
顺便说一句,看到calcThirdChance(int t1, int t2)
只需要它收到的参数的总和,你可以将它改为:
public static int calcThirdChance(int t)
{
int c;
c = -1*t;
double finalsend;
finalsend = Math.pow(2.71, c/100)*2;
finalsend*=150;
return (int)finalsend;
}
这会使电话calcThirdChance(t1+t2)
有效。
答案 2 :(得分:2)
这个
calcThirdChance(t1+t2);
传递t1+t2
(一个值)的结果,但您的方法需要两个。我想你想要
calcThirdChance(t1, t2); // <-- a comma