18、Random类简介
Random类概述
Random类在java.util包下,使用这个类可以生成随机数
package com.sutaoyu.usually_class;
import java.util.Random;
public class String_test15 {
public static void main(String[] args) {
Random r = new Random();
//生成int类型的随机数
int ran = r.nextInt(11);//生成0-10之间的随机数
System.out.println(ran);//0
//循环生成5个随机数
for(int i = 0;i<5;i++) {
System.out.println(r.nextInt(11));//8 2 1 1 2
}
}
}
练习:
完成一个彩票机选号码生成器,这里以双色球为例,双色球每注中奖号码由6个不同的红色球号码和1个蓝色球号码组成。红色球号码从1~33中选择;蓝色球号码从1~16中选择。
分析:随机的从1~33中选择6个不同的数字,需要去重,随机从1~16中选择1个数字,可以组成一注中奖号码。
package com.monkey1024.random; import java.util.Arrays;
import java.util.Random; public class ColorBall { public static void main(String[] args) { //初始化双色球号码
int[] balls = new int[33];
for(int i=0; i<balls.length; i++){
balls[i] = i + 1;
} //创建数组用来标记红球是否重复
boolean[] isUsed = new boolean[33]; //创建数组用来存放6个红球
int[] result = new int[6];
//初始化数组下标
int length = 0; Random r = new Random();
while(true){
//生成0~32的随机数,将随机数作为数组下标,取得红球
int red = r.nextInt(33);
//判断生成的红球是否重复
if(isUsed[red] == true){
continue;
} //将选中的红球存放到结果中
result[length++] = balls[red];
//如果等于6则说明已经生成了6个红球了,跳出循环
if(length == 6){
break;
} //将生成的红球所对应的数组下标标记为true
isUsed[red] = true; }
//将数组排序
Arrays.sort(result);
//生成0~15的随机数,将随机数作为数组下标,取得蓝球
int blue = r.nextInt(16); //将红球打印
System.out.print("红球:");
for(int i=0; i<result.length; i++){
if(i == result.length - 1){
System.out.print(result[i]);
}else{
System.out.print(result[i] + ",");
}
} //将蓝球打印
System.out.print(" 蓝球:" + balls[blue]);
} }
18、Random类简介的更多相关文章
- Java——Random类随机整数---18.10.11
一.Random类的定义 1.Random类位于java.util包中,主要用于生成 伪随机数 2.random类将 种子数 作为随机算法的起源数字,计算生成伪随机数,其与生成的随机数字的区间无关 3 ...
- Java api 入门教程 之 JAVA的Random类
在实际的项目开发过程中,经常需要产生一些随机数值,例如网站登录中的校验数字等,或者需要以一定的几率实现某种效果,例如游戏程序中的物品掉落等. 在Java API中,在java.util包中专门提供了一 ...
- JAVA的Random类[转]
在实际的项目开发过程中,经常需要产生一些随机数值,例如网站登录中的校验数字等,或者需要以一定的几率实现某种效果,例如游戏程序中的物品掉落等. 在Java API中,在java.util包中专门提供了一 ...
- Random类(java.util)
转自 Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字. 相同种子数的Rand ...
- [转] JAVA的Random类
Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要 ...
- 14-02 Java Math类,Random类,System类,BigDecimal类
Math类 Math的方法 package cn.itcast_01; /* * Math:用于数学运算的类. * 成员变量: * public static final double PI * pu ...
- 引用数据类型(Scanner类、Random类)
Scanner类 Scanner类是引用数据类型的一种,我们可以使用该类来完成用户键盘录入,获取到录入的数据. 引用数据类型的使用 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固 ...
- 【Unity】6.6 Random类
分类:Unity.C#.VS2015 创建日期:2016-04-20 一.简介 Unity引擎提供的Random类可以用来生成随机数.随机点或旋转角度. 1.成员变量 seed:设置用于随机数生成器的 ...
- Java基础-日期格式化DateFormat类简介
Java基础-日期格式化DateFormat类简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.DateFormat类概述 DateFormat 是日期/时间格式化子类的抽象 ...
随机推荐
- linux 下安装 nodejs
1. linux 下下载 wget http://cdn.npm.taobao.org/dist/node/v10.14.1/node-v10.14.1-linux-x64.tar.xz 2. 解压缩 ...
- intel 的架构图
第一代: 第二代 第三代 以及对比
- Idea(三)常用插件以及快捷键总结
idea常用插件以及快捷键 现在开发中和日常自己开发都统一换成了idea进行开发了.现在针对自己常用到的插件和快捷键进行总结记录下. 插件 Alibaba Java Coding Guidelines ...
- Android ComponentName的用法
ComponentName(组件名称)是用来打开其他应用程序中的Activity或服务的. 用法: Intent it=new Intent(); it.setComponent(new Compon ...
- 给表格控件DBGrid加上记录序号的列
DBGrid使用起来还是很方便的,但就是没有显示记录序号的功能,必须自己加,参照老外给的解决方案如下: 方案1: 1- 在DBGrid建一个第一列 (列的名字起“NO”) 2- 在DBGrid事件 D ...
- log4net日志文件的应用
日志作为快速定位程序问题的主要手段,日志几乎是所有程序都必须拥有的一部分,下面我们就看下怎么使用log4net.dll文件: 1.下载log4net.dll文件 2.创建自己的项目 3.在自己项目下的 ...
- NOI前总结
最近也就是天天考试,总结一下. 7.1 开场T1T2都是不可做的概率期望,只有T3看起来可做,于是怒干4h+,将题解里面的所有结论都推出来了,大模拟写的一点毛病都没有,可还是因为2-SAT掌握不熟结果 ...
- 使用telnet访问百度
这里主要是玩一下http协议,查看http的header. 1.输入命令telnet访问百度 # telnet www.baidu.com 80 Trying 220.181.112.244... C ...
- 前端学习 -- Css -- 伪元素
:first-letter 表示第一个字符 :first-line 表示文字的第一行 :before 选中元素的最前边,一般该伪类都会结合content一起使用,通过content可以向指定位置添加内 ...
- 解题:CF983A Finite or not
题面 一个$b$进制最简分数是有限循环小数当且仅当其分母没有与$b$不同的质因子,小学数奥内容水过 #include<cstdio> #include<cstring> #in ...