随机加法java

import java.util.*;
public class 随机加法 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        int sum = 0;
        Random r = new Random();
        Scanner in = new Scanner(System.in);        
        long time = System.currentTimeMillis();//currentTimeMillis()返回以毫秒为单位的当前时间,
                                               //System.currentTimeMillis()获得的是自1970-01-01 00:00:00.000到当前时刻的时间距离,类型为long
        for(int i =0;i<10;i++) {
            int a = r.nextInt(15)+1;
            int b = r.nextInt(15)+1;
            System.out.print("第"+(i+1)+"道:"+a+"+"+b+"=");
            int c = in.nextInt();
            if(a+b==c) {
                sum++;
            }
        }
        time = System.currentTimeMillis() - time;
        System.out.println(sum +" "+ time);//时间为毫秒    ,
        
        //随机产生两个小于100的整数的加法运算式的程序
//        int a = (int) (Math.random() * 100);
//        int b = (int) (Math.random() * 100);
//        System.out.println(a + "+" + b + "=" + (a + b));
    }

}

//编写程序,使它产生10个随机加法问题,加数是两个1到15之间的整数
//,显示正确答案的个数和测试时间

//Random r = new Random(47);
//int a = r.nextInt(26);
//System.out.println(a);
/*
想要获取一个范围内的随机数(例如26,随机数可能是0-25),首先需要一个种子(其实就是一个数值)。
每个种子会对应这个范围内(0-26)的唯一的一个随机数。
47这个种子在26这个范围内,所对应的随机数为24,所以每次随机得出的结果都为24.
(注意:47在26这个范围内对应的是24,这个是死的,固定的,无论你执行多少次,它还是24)
至于为什么种子47会对应24,这个涉及到java封装的算法,有兴趣可以深入了解。
*/

//Random r = new Random();
//int a = r.nextInt(26);
//System.out.println(a);

//然后一运行,发现每次运行出来的结果不一样,是所谓的随机数,原来如果没有种子的话,
//程序会取当前日期的毫秒数来作为种子,所以每次执行种子都会不同,因为每次时间的毫秒数是不一样的
//,所以随机出来的数也就会不同。

/*
总之,new Random(47)里面的47表示产生随机数的一个种子,nextInt(26)表示随机数的范围,种子和范围是相关联的
,一个种子对应一个范围内的一个固定的随机数,如果不填种子,则会默认取当前时间的毫秒数作为种子来生成随机数。
*/

//Java nextInt()函数 nextInt( int num) 能接受一个整数作为它所产生的随机整数的上限,下限为零,
//比如: nextInt(4)将产生0,1,2,3这4个数字中的任何一个数字,注意这里不是0-4,而是0-3。 。
//但下限总是零,不能更改,所以若要达到非零下限的效果,必须把上限减去下限的结果传给 nextInt( ),
//然后把下限加入 nextInt( ) 返回的整数。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值