早教吧 育儿知识 作业答案 考试题库 百科 知识分享

投掷一枚硬币,出现正面的概率是0.6.编写java程序,使用MontaCarlo方法模拟抛硬币的过程并验证结果.importjava.math.BigIntegerpublicclassGailv{publicstaticvoidmain(String[]args){intN=Integer.parseInt(args[0]);int

题目详情
投掷一枚硬币,出现正面的概率是0.6.编写java程序,使用Monta Carlo方法模拟抛硬币的过程并验证结果.
import java.math.BigInteger
public class Gailv
{
public static void main(String[] args){
int N=Integer.parseInt(args[0]);
int head=0;

for(int i=1;i<=N;i++)
{
if(Math.random()<=0.6)
head++;

}
 System.out.println("the probility is:"+head*1.0/N);
}
}
报错:
▼优质解答
答案和解析

数组角标越界

我把你的代码略作了修改,注意看就知道.args这个数组的长度为0,即里面没有元素.而你在上面int N=Integer.parseInt(args[0]);这行代码中试图访问args[0],即args数组的第一个元素,这明显是错误的.所以虚拟机报错,数组角标越界.