Java 无法多次运行方法,赢得';不编译
我为我的java类编写了一个复制狂欢节游戏的程序。有5个骰子,有4、6、8、12和20个边。我必须模拟玩这个游戏100次,然后计算赢的次数。运行一次的代码运行良好。我无法让它运行100次 在编译时,我会遇到以下错误: [第15行] 错误:嘉年华类型中的方法dieRoll(int,int,int,int,int)不适用于参数(int) [第17行] 错误:无法将dieRoll解析为变量 我正在尝试使用一个函数Java 无法多次运行方法,赢得';不编译,java,Java,我为我的java类编写了一个复制狂欢节游戏的程序。有5个骰子,有4、6、8、12和20个边。我必须模拟玩这个游戏100次,然后计算赢的次数。运行一次的代码运行良好。我无法让它运行100次 在编译时,我会遇到以下错误: [第15行] 错误:嘉年华类型中的方法dieRoll(int,int,int,int,int)不适用于参数(int) [第17行] 错误:无法将dieRoll解析为变量 我正在尝试使用一个函数 for(int i = 0; i < 100; i++){dieRoll(i);}
for(int i = 0; i < 100; i++){dieRoll(i);}
{
System.out.println("You rolled a " + dieRoll);
}
(inti=0;i<100;i++){dieRoll(i);}
{
System.out.println(“你掷了一个”+骰子);
}
知道我做错了什么吗?
以下是整个程序:
public class Carnival
{
public static void main(String[] args)
{
int dice1=(int)(4*Math.random()+1);
int dice2=(int)(6*Math.random()+1);
int dice3=(int)(8*Math.random()+1);
int dice4=(int)(12*Math.random()+1);
int dice5=(int)(20*Math.random()+1);
System.out.println(dieRoll(dice1, dice2, dice3, dice4, dice5));
for(int i = 0; i < 100; i++){dieRoll(i);} //Here is where I have the
//errors
{
System.out.println("You rolled a " + dieRoll); //And here
}
}//end main
public static int dieRoll(int dice1, int dice2, int dice3, int dice4, int
dice5)
{
return dice1 + dice2 + dice3 + dice4 + dice5;
}//end method
}//end class
公共课堂嘉年华
{
公共静态void main(字符串[]args)
{
int dice1=(int)(4*Math.random()+1);
int dice2=(int)(6*Math.random()+1);
int dice3=(int)(8*Math.random()+1);
int dice4=(int)(12*Math.random()+1);
int dice5=(int)(20*Math.random()+1);
系统输出println(骰子卷(骰子1,骰子2,骰子3,骰子4,骰子5));
对于(inti=0;i<100;i++){dieRoll(i);}//这里是
//错误
{
System.out.println(“你掷了一个”+dieRoll);//这里
}
}//端干管
公共静态整数骰子(整数骰子1,整数骰子2,整数骰子3,整数骰子4,整数
(5)
{
返回骰子1+2+3+4+5;
}//结束方法
}//末级
第一个错误是因为您试图将一个参数传递给一个具有多个参数的函数。函数调用语句的参数数应与函数定义中的参数数相同
其次,您使用的print语句直接打印函数,这是不可能的。最好将输出存储在一个变量中,然后打印出来。您好,如果您通过生成随机数来玩游戏100次,则需要在for循环中添加随机数的计算,以生成不同的数字
for(int i = 0; i < 100; i++)
{
int dice1=(int)(4*Math.random()+i);
int dice2=(int)(6*Math.random()+i);
int dice3=(int)(8*Math.random()+i);
int dice4=(int)(12*Math.random()+i);
int dice5=(int)(20*Math.random()+i);
System.out.println("You rolled : "+dieRoll(dice1,dice2,dice3,dice4,dice5));
}
for(int i=0;i<100;i++)
{
int dice1=(int)(4*Math.random()+i);
int dice2=(int)(6*Math.random()+i);
int dice3=(int)(8*Math.random()+i);
int dice4=(int)(12*Math.random()+i);
int dice5=(int)(20*Math.random()+i);
println(“你掷骰:+diecoll(骰子1,骰子2,骰子3,骰子4,骰子5));
}
很明显,为什么只使用一个参数调用dieRoll,它被定义为接受5个参数?dieRoll
是一个接收5个参数的方法。你不能像dieRoll(i)那样使用它代码>或<代码>模辊和System.out.println(“您滚动了一个”+dieRoll)
不在for
循环范围内,它周围的花括号没有任何意义。对于一个经验丰富的程序员来说,这可能是显而易见的,但对于新手来说,它不是。谢谢你的帮助,但你能不能再扩展一点。我尝试了几种方法来包含这5个参数,但都没有成功。我正在学习在线课程,因此很难及时从讲师那里获得帮助。我一直在网上搜索,重新阅读我的书和我的讲师视频,几乎没有什么可展示的。再次感谢。