public class roleSkill {
userRandom ran=new userRandom();
skillExtra exta=new skillExtra();
public double pojia(int i,double df[]){ //第一个方法!poija()
if(i==0){
df[1]=-15;
return df[1];
}else{
df[0]=-15;
return df[0];
}
}
public double roles(String skill,String name,int i,double df[]){ //第二个方法!roles()
if(name.equals("战士")){
if(skill.equals("a")){ //使用英勇打击
double a=20*exta.radm(name);
return a;
}
else if(skill.equals("s")){ //使用破甲
return pojia(); //问题出在这,会报错,参数一个都没少。
}
else if(skill.equals("d")){ //增加护甲
return 30*(ran.random()/100+1);
}
else{
return 20*(exta.radm(name)-0.8);
}
}
else if(name.equals("法师")){
if(skill.equals("1")){ //使用寒冰剑
double a=20*exta.radm(name);
return a;
}
else if(skill.equals("2")){ //使用寒冰甲
return 23;
}
else if(skill.equals("3")){ //火焰冲击
double a=35*(exta.radm(name)-0.2);
return a;
}
else{
return 6;
}
}
else{
if(skill.equals("j")){ //使用惩戒痛击
double a=20*exta.radm(name);
return a;
}
else if(skill.equals("k")){//使用快速治愈
return 25;
}
else if(skill.equals("l")){//使用精神侵蚀
return -20*exta.radm(name);
}
else{
return 8;
}
}
}
}
java中返回值为方法时的问题
答案:3 悬赏:60 手机版
解决时间 2021-05-05 21:42
- 提问者网友:喧嚣尘世
- 2021-05-05 16:09
最佳答案
- 五星知识达人网友:神鬼未生
- 2021-05-05 16:33
public double pojia(int i,double df[]){
这个方法是有参数的..
return pojia(); 你调用的时候没带参数. 当然会出错咯.
全部回答
- 1楼网友:像个废品
- 2021-05-05 17:13
你不要把这个理解为返回值为方法,这样理解是不正确的。
return pojia();
这里返回的不是方法,而是执行pojia();这个方法后的值。
也就是说,返回的是这个方法运行后的结果
pojia(); 这个方法明明有两个参数,调用时候你没给参数,这样肯定有错了。
这样才能通过编译:
return pojia(int类型参数1,double[]类型参数2);
等效于 :
double result = pojia(int类型参数1,double[]类型参数2);
return result;
- 2楼网友:想偏头吻你
- 2021-05-05 17:00
你没有给方法传递参数,所以报错
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯