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块拼图”也玩过不少,不过玩那个太占地方,后来也不再买了,同时也就萌生了在电脑上玩拼图的想法. 现在虽然有很多拼图游戏,但能大多数只能支持几十或几百块 ... 
