一、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如何产生随机数的更多相关文章

  1. 为什么说Java中的随机数都是伪随机数?

    什么是伪随机数?  1.伪随机数是看似随机实质是固定的周期性序列,也就是有规则的随机. 2.只要这个随机数是由确定算法生成的,那就是伪随机,只能通过不断算法优化,使你的随机数更接近随机.   (随机这 ...

  2. Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom

    Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom 文中的 Random即:java.util.Random,ThreadLocalRandom 即: ...

  3. Java中产生随机数的两个方法

    Java中产生随机数的两个方法 一.利用random方法来生成Java随机数. 在Java语言中生成Java随机数相对来说比较简单,因为有一个现成的方法可以使用.在Math类中,Java语言提供了一个 ...

  4. Java中利用随机数的猜拳游戏

    Java中利用随机数的猜拳游戏,实现非常简单,重难点在于随机数的产生. 首先GameJude类是用于判断输赢的一个类: package testGame; public class GameJudge ...

  5. java怎么产生随机数

    随机数的产生在一些代码中很常用,也是我们必须要掌握的.而java中产生随机数的方法主要有三种: 第一种:new Random() 需要借助java.util.Random类来产生一个随机数发生器,也是 ...

  6. Java学习之随机数的用法

    •前言 随机数的产生在一些代码中很常用,也是我们必须要掌握的. 而 Java 中产生随机数的方法主要有三种: new Random() Math.random() currentTimeMillis( ...

  7. java Math.random()随机数的产生

    Math.random()是java内置产生随机数的函数,Math.random()能够产生[0,1)的浮点数,当我们要产生特定范围的数时,可以采用如下办法: 1.Math.random()*(最大数 ...

  8. Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom(转)

    文中的 Random即:java.util.Random,ThreadLocalRandom 即:java.util.concurrent.ThreadLocalRandomSecureRandom即 ...

  9. [转]Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom

     详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp84 Random即:java.util.Random, ThreadL ...

随机推荐

  1. canvas API ,通俗的canvas基础知识(五)

    前几期讲的都是路径图形的绘图,这节我们要讲的是如何在画布上操作图片,因为图形画不了漂亮妹子(画图高手忽略不计),想画美女怎么办?跟我来: 想要在画布中插入一张图片,我们需要的方法是这位大侠: draw ...

  2. August 5th, 2016, Week 32nd, Friday

    Life is made up of small pleasures. 生活由各种细小的幸福构成. Don't expect too much. I am not qualified to get m ...

  3. 解决 mysql 启动报错--发现系统错误2,系统找不到指定的文件

    HKEY_LOCAL_MACHINE-SYSTEM-CurrentControlSet-services-mysql(服务名)-ImagePath 更改为(自己的):"C:\Program ...

  4. Android自定义progressBar

    通过继承系统ProgressBar实现 效果图 实现 HorizontalProgressBarWithNumber 自定义属性 <?xml version="1.0" en ...

  5. Hibernate核心思想—ORM机制(一)

    转:http://blog.csdn.net/wanghuan203/article/details/7566518 hibernate是一个采用ORM(Object/Relation Mapping ...

  6. HTML CSS简单总结

    1.css 的border属性改变hr颜色小示例 <hr style="border:0;background-color:#ff0000;height:1px;margin:0;pa ...

  7. C#控制管理VisualSVN Server

    VisualSVN Server可以用WMI接口管理(Windows Management Instrumentation). VisualSVN Server安装的计算机中,位于%VISUALSVN ...

  8. C# 读取本地图片 转存到其他盘符

    UpFileContent upfile = new UpFileContent(); upfile.StationImageName = "123.png"; FileStrea ...

  9. hdu 1281 二分图匹配

    题目:在保证尽量多的“车”的前提下,棋盘里有些格子是可以避开的,也就是说,不在这些格子上放车,也可以保证尽量多的“车”被放下.但是某些格子若不放子,就 无法保证放尽量多的“车”,这样的格子被称做重要点 ...

  10. 如何在Eclipse中查看Android源码或者第三方组件包源码

    文章出处:http://blog.csdn.net/cjjky/article/details/6535426 在学习过程中如果经常阅读源码,理解程度会比较深,学习效率也会比较高,那么如何方便快捷的阅 ...