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类简介的更多相关文章

  1. Java——Random类随机整数---18.10.11

    一.Random类的定义 1.Random类位于java.util包中,主要用于生成 伪随机数 2.random类将 种子数 作为随机算法的起源数字,计算生成伪随机数,其与生成的随机数字的区间无关 3 ...

  2. Java api 入门教程 之 JAVA的Random类

    在实际的项目开发过程中,经常需要产生一些随机数值,例如网站登录中的校验数字等,或者需要以一定的几率实现某种效果,例如游戏程序中的物品掉落等. 在Java API中,在java.util包中专门提供了一 ...

  3. JAVA的Random类[转]

    在实际的项目开发过程中,经常需要产生一些随机数值,例如网站登录中的校验数字等,或者需要以一定的几率实现某种效果,例如游戏程序中的物品掉落等. 在Java API中,在java.util包中专门提供了一 ...

  4. Random类(java.util)

    转自 Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字. 相同种子数的Rand ...

  5. [转] JAVA的Random类

    Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要 ...

  6. 14-02 Java Math类,Random类,System类,BigDecimal类

    Math类 Math的方法 package cn.itcast_01; /* * Math:用于数学运算的类. * 成员变量: * public static final double PI * pu ...

  7. 引用数据类型(Scanner类、Random类)

    Scanner类 Scanner类是引用数据类型的一种,我们可以使用该类来完成用户键盘录入,获取到录入的数据. 引用数据类型的使用 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固 ...

  8. 【Unity】6.6 Random类

    分类:Unity.C#.VS2015 创建日期:2016-04-20 一.简介 Unity引擎提供的Random类可以用来生成随机数.随机点或旋转角度. 1.成员变量 seed:设置用于随机数生成器的 ...

  9. Java基础-日期格式化DateFormat类简介

    Java基础-日期格式化DateFormat类简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.DateFormat类概述 DateFormat 是日期/时间格式化子类的抽象 ...

随机推荐

  1. strtr、str_replace()、substr_replace、preg_replace之间的区别

    strtr(string, from, to): 逐个字符开始替换,以from跟to中长度较较短的一个为准,例如: strtr("aidengni","ai", ...

  2. vmdk->vhdx

    https://cloudbase.it/qemu-img-windows/ Usage examplesConvert a QCOW2, RAW, VMDK or VDI image to VHDX ...

  3. java.lang.NoSuchMethodError: org.hibernate.integrator.internal.IntegratorServiceImpl.<init>(Ljava/util/LinkedHashSet;Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;)

    需要:4.3及以上的版本才能用StandardServiceRegistryBuilder() hibernate-core-4.3.11.Final.jar version:4.3 ServiceR ...

  4. dbgrid如何在最左边的列上显示行序号

    procedure TForm1.Table1CalcFields(DataSet: TDataSet); begin table1.FieldValues['no']:=table1.RecNo; ...

  5. ASP.NET MVC中在 @RenderBody() 或者 @Html.Partial()中需要使用引入外部js,css

    今天想在后台封装一下bootstraptree这个插件,引入jquery.js bootstrap.js bootstrap.css bootstrap-tree.js后,我在页面查看脚本错误就连最简 ...

  6. poj3320 Jessica's Reading Problem

    Description Jessica's a very lovely girl wooed by lots of boys. Recently she has a problem. The fina ...

  7. [AT2401] [arc072_e] Alice in linear land

    题目链接 AtCoder:https://arc072.contest.atcoder.jp/tasks/arc072_c 洛谷:https://www.luogu.org/problemnew/sh ...

  8. java10 新特性 详解

    引言: 点击-->java9 新特性 详解 点击-->java8 新特性 详解 正题: 1.局部变量var 将前端思想var关键字引入java后段,自动检测所属于类型,一种情况除外,不能为 ...

  9. 学习Spring Boot:(四)应用日志

    前言 应用日志是一个系统非常重要的一部分,后来不管是开发还是线上,日志都起到至关重要的作用.这次使用的是 Logback 日志框架. 正文 Spring Boot在所有内部日志中使用Commons L ...

  10. PostgreSQL 修改字段类型从int到bigint

    由于现在pg的版本,修改int到bigint仍然需要rewrite表,会导致表阻塞,无法使用.但可以考虑其他方式来做.此问题是排查现网pg使用序列的情况时遇到的. 由于int的最大值只有21亿左右,而 ...