作业帮 > 综合 > 作业

投掷一枚硬币,出现正面的概率是0.6.编写java程序,使用Monta Carlo方法模拟抛硬币的过程并验证结果.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/04 16:01:16
投掷一枚硬币,出现正面的概率是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数组的第一个元素,这明显是错误的.所以虚拟机报错,数组角标越界.
再问: 求解决方法
再问: 求解决方法
再答: Integer.parseInt是Integer整数类的一个方法,作用是将参数解析为一个整数。所以你的这行代码int N=Integer.parseInt(args[0]);仅仅是想将args数组里面的第一个元素转换成int型并赋值给N,直接找一个int型的值比如100、1000赋值给N就行了啊、、、