2016/1/14 java随机数生成

1、Math库里的static(静态)方法random()

  该方法的作用是产生0到1之间(包括0,但不包括1)的一个double值。

double rand = Math.random();

2、通过Random类的对象

  程序可生成许多不同类型的随机数字,做法很简单,只需调用方法nextInt()和nextFloat()即可(也可以调用nextLong()或者nextDouble())。传递给nextInt()的参数设置了所产生随机数的上限,而其下限为0.

  如果在创建Random对象过程中没有传递任何参数,那么Java就会将当前时间作为随机数生成器的种子,并由此在程序每一次执行时都产生不同的输出。如果在创建Random对象时提供种子(用于随机数生成器的初始化值,随机数生成器对于特定的种子值总是产生相同的随机数序列),就可以在每一次执行程序时都生成相同的随机数,因此其输出是可验证的。

举例:生成1到100之间的随机数

1 import java.util.Random;
2
3 public class Radom{
4     public static void main(String[] strs){
5         Random rand = new Random();
6         System.out.println(rand.nextInt(99)+1);
7     }
8 }

设定种子,下例中的种子可以随便设定:

Random rand = new Random(47);
时间: 2024-10-24 18:53:34

2016/1/14 java随机数生成的相关文章

2016/1/14 java生成指定范围的随机数

java生成指定范围的随机数 1 package edu.sjtu.erplab.io; 2 3 import java.util.Random; 4 5 public class RandomTest { 6 public static void main(String[] args) { 7 int max=20; 8 int min=10; 9 Random random = new Random(); 10 11 int s = random.nextInt(max)%(max-min+

14.Java中的Future模式

jdk1.7.0_79  本文实际上是对上文<13.ThreadPoolExecutor线程池之submit方法>的一个延续或者一个补充.在上文中提到的submit方法里出现了FutureTask,这不得不停止脚步将方向转向Java的Future模式. Future是并发编程中的一种设计模式,对于多线程来说,线程A需要等待线程B的结果,它没必要一直等待B,可以先拿到一个未来的Future,等B有了结果后再取真实的结果. ExecutorService executor = Executors.

2016/01/14开始学习git:标签管理:创建标签

标签也是版本库的一个快照指向某个commit的指针(分支可以移动,标签不能移动) 切换到需要打标签的分支上git tag <name>就可以打一个新标签: $ git tag v1.0 git tag查看所有标签: $ git tagv1.0 打之前提交的版本的commit需要当时的commit ID$ git tag v0.9 93ddf60 查看tag$ git tagv0.9v1.0 标签不是按时间顺序列出,而是按字母排序的.可以用git show <tagname>查看标签

2016/1/14 作业 第一题 生成四位验证码 第二题 彩票机

1 import java.util.Random; 2 3 4 public class Test1 { 5 6 /** 7 * @param args 8 */ 9 public static void main(String[] args) { 10 // TODO 自动生成的方法存根 11 12 // 方法一: 全部列出 13 String ss=new String("qwertyuiopasdfghjklzxcvbnm1234567890"); 14 15 //随机数实例化

2016.3.14

21.shift v.转移 移动 改变 22.vary v.变化 改变 使多元化 .... 计划有变,单词应该早上被比较好,晚上睡觉比较合适. 今天14号,星期一,明天15号,星期二. 今天白色情人节,娥娥给我打钱,让我自己想买啥就买啥. 今天收到ds18b20 还有检测光亮度的传感器,还有一个12v的小电风扇. 1.18b12可以顺利检测出温度. 2.光亮度也可以顺利检测,只是需要180ms的时间延长来接收光亮数据,导致数码管显示卡顿.发现用定时器中断均无法实现,因为单片机用的不是很熟,无法多

2016.03.04///Java学习记录①

import java.util.Scanner; public class xinxi { public static void main(String[] aa) { Scanner in = new Scanner(System.in);  //创建Scanner类对象 System.out.printf("Enter your name: "); String name = in.nextLine();          //输入姓名 System.out.printf(&qu

2016.3.12 JAVA中StringBuffer类常用方法详解(转)

String是不变类,用String修改字符串会新建一个String对象,如果频繁的修改,将会产生很多的String对象,开销很大.因此java提供了一个StringBuffer类,这个类在修改字符串方面的效率比String高了很多. 在java中有3个类来负责字符的操作. 1.Character 是进行单个字符操作的, 2.String 对一串字符进行操作.不可变类. 3.StringBuffer 也是对一串字符进行操作,但是可变类. 1 public class UsingStringBuf

2017.4.14 JAVA的包装类 【转】

Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类. 包装类均位于Java.lang包,包装类和基本数据类型的对应关系如下表所示: 包装类对应表 基本数据类型 包装类 byte Byte boolean Boolean short Short char Ch

史上最全的java随机数生成算法[转载]

1 package com.zuidaima.core.util; 2 3 import java.util.Random; 4 5 public class RandomUtil { 6 public static final String ALLCHAR = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; 7 public static final String LETTERCHAR = "