java如何产生随机数
一、java如何产生随机数?
1.打开eclipse
2.新建java项目,例如取名为“suijishu”点击完成
3.新建一个类进行测试
4.首先要在头部插入一个包
输入import java.util.Random;

5.输入代码:
public static int suiji = new Random().nextInt(10);
public static void main(String[] args) {
System.out.print(suiji);
}
其中,public static int suiji = new Random().nextInt(10);这一行是生成随机数的关键,它可以生成0到9的一个随机数
package suijishu;
import java.util.Random;
public class suijishu{
    public static int suiji =new Random().nextInt(10);
    public static void main(String[] args){
        System.out.print(suiji);
    }
}
6.测试输出,就可以看到生成的随机数

二、java如何实现生成不重复的随机数
package suijishu;
import java.util.Random;
public class suijishu{
    public static int suiji =new Random().nextInt(10);
    public static void main(String[] args){
        System.out.print(suiji);
    }
           //设定几位数
           private static final int LENGTH = 8;
            /**
             * 这是典型的随机洗牌算法。
             * 流程是从备选数组中选择一个放入目标数组中,将选取的数组从备选数组移除(放至最后,并缩小选择区域)
             * 算法时间复杂度O(n)
             * @return 随机8为不重复数组
             */
           public static String generateNumber() {
               String no = "";
               // 初始化备选数组
               int[] defaultNums = new int[10];
               for (int i = 0; i < defaultNums.length; i++) {
                   defaultNums[i] = i;
               }
               Random random = new Random();
               int[] nums = new int[LENGTH];
               // 默认数组中可以选择的部分长度
               int canBeUsed = 10;
               // 填充目标数组
               for (int i = 0; i < nums.length; i++) {
                   // 将随机选取的数字存入目标数组
                   int index = random.nextInt(canBeUsed);
                   nums[i] = defaultNums[index];
                   // 将已用过的数字扔到备选数组最后,并减小可选区域
                   swap(index, canBeUsed - 1, defaultNums);
                   canBeUsed--;
               }
               if (nums.length > 0) {
                   for (int i = 0; i < nums.length; i++) {
                       no += nums[i];
                   }
               }
               return no;
           }
           /**
            * 交换方法
            * @param i 交换位置
            * @param j 互换的位置
            * @param nums 数组
            */
           private static void swap(int i, int j, int[] nums) {
               int temp = nums[i];
               nums[i] = nums[j];
               nums[j] = temp;
           }
           /**
            * 获取8位数
            * @return
            */
           public static String generateNumber2() {
               String no = "";
               int num[] = new int[8];
               int c = 0;
               for (int i = 0; i < 8; i++) {
                   num[i] = new Random().nextInt(10);
                   c = num[i];
                   for (int j = 0; j < i; j++) {
                       if (num[j] == c) {
                           i--;
                           break;
                       }
                   }
               }
               if (num.length > 0) {
                   for (int i = 0; i < num.length; i++) {
                       no += num[i];
                   }
               }
               return no;
           }
}
测试输出就会发现每次生成的随机数都不一样
java如何产生随机数的更多相关文章
- 为什么说Java中的随机数都是伪随机数?
		
什么是伪随机数? 1.伪随机数是看似随机实质是固定的周期性序列,也就是有规则的随机. 2.只要这个随机数是由确定算法生成的,那就是伪随机,只能通过不断算法优化,使你的随机数更接近随机. (随机这 ...
 - Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom
		
Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom 文中的 Random即:java.util.Random,ThreadLocalRandom 即: ...
 - Java中产生随机数的两个方法
		
Java中产生随机数的两个方法 一.利用random方法来生成Java随机数. 在Java语言中生成Java随机数相对来说比较简单,因为有一个现成的方法可以使用.在Math类中,Java语言提供了一个 ...
 - Java中利用随机数的猜拳游戏
		
Java中利用随机数的猜拳游戏,实现非常简单,重难点在于随机数的产生. 首先GameJude类是用于判断输赢的一个类: package testGame; public class GameJudge ...
 - java怎么产生随机数
		
随机数的产生在一些代码中很常用,也是我们必须要掌握的.而java中产生随机数的方法主要有三种: 第一种:new Random() 需要借助java.util.Random类来产生一个随机数发生器,也是 ...
 - Java学习之随机数的用法
		
•前言 随机数的产生在一些代码中很常用,也是我们必须要掌握的. 而 Java 中产生随机数的方法主要有三种: new Random() Math.random() currentTimeMillis( ...
 - java Math.random()随机数的产生
		
Math.random()是java内置产生随机数的函数,Math.random()能够产生[0,1)的浮点数,当我们要产生特定范围的数时,可以采用如下办法: 1.Math.random()*(最大数 ...
 - Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom(转)
		
文中的 Random即:java.util.Random,ThreadLocalRandom 即:java.util.concurrent.ThreadLocalRandomSecureRandom即 ...
 - [转]Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom
		
详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp84 Random即:java.util.Random, ThreadL ...
 
随机推荐
- iOS的I/O操作
			
一般而言,处理文件时都要经历以下四个步骤: 1.创建文件 2.打开文件,以便在后面的I/O操作中引用该文件 3.对打开的文件执行I/O操作(读取.写入.更新) 4.关闭文件 iOS中,对文件常见的处理 ...
 - nginx: [warn] conflicting server name "locahost" on 0.0.0.0:80, ignored
			
里面域名重复: 在vhosts下多个虚拟机配置文件,都是基于域名配置的,其中两个配置文件,都起了localhost ,所以会报错!!!! 多个域名可以指向同一个目录,但同一个域名不可一指向多个目录!! ...
 - Oracle主键操作
			
http://blog.csdn.net/zhanggnol/article/details/6221895
 - poj 1236 scc强连通分量
			
分析部分摘自:http://www.cnblogs.com/kuangbin/archive/2011/08/07/2130277.html 强连通分量缩点求入度为0的个数和出度为0的分量个数 题目大 ...
 - js实现iframe自适应高度
			
转自:http://www.jb51.net/article/15780.htm 对于自适应高度的代码有很多,可效率什么的考虑进来好代码就不多见了,不过思路倒是差不多的! 不带边框的iframe因为能 ...
 - POJ 2299 逆序对
			
Crossings Time Limit: 2 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100463 Description I ...
 - 【bzoj1051】 [HAOI2006]受欢迎的牛 tarjan缩点判出度算点数
			
[bzoj1051] [HAOI2006]受欢迎的牛 2014年1月8日7450 Description 每一头牛的愿望就是变成一头最受欢迎的牛.现在有N头牛,给你M对整数(A,B),表示牛A认为牛B ...
 - SQL 中数值型数据截取以及四舍五入
			
SQL 中数值型数据截取及四舍五入 例一: -- 将两个数值分别截取只保留两位小数 ( 注意此时字段默认为 decimal ) select CAST ( 10.097 as decimal ( 10 ...
 - Ubuntu安装sciki-learn及环境
			
http://scikit-learn.org/stable/install.html 安装python-dev 安装这个包,以后安装各种python扩展包,可以省很多事情. sudo apt-get ...
 - 拼图游戏 v1.1
			
我一直对拼图游戏比较有兴趣,市面上卖的所谓“1000块拼图”也玩过不少,不过玩那个太占地方,后来也不再买了,同时也就萌生了在电脑上玩拼图的想法. 现在虽然有很多拼图游戏,但能大多数只能支持几十或几百块 ...