public class test {

    public static void main(String[] args) {

        getRandomNum1();
getRandomNum2();
getRandomNum3();
getRandomNum4();
getRandomNum5();
} /**
* 对数组里面的数字进行循环判断,如果有不做处理,继续循环。没有就添加。
*/
private static void getRandomNum1() {
int [] arr = new int[5];
int count = 0;
while(count < 5) {
int num = (int) (Math.random() * (10)) ;
boolean flag = true;
for (int j = 0; j < 5; j++) {
if(num == arr[j]){
flag = false;
break;
}
}
if(flag){
arr[count] = num;
count++;
}
}
System.out.println("随机数1:"+Arrays.toString(arr));
}
/**
* 判断是否存在。不在就添加,在就不处理。继续循环
*/
private static void getRandomNum2() {
List list = new ArrayList();
while(list.size() < 5) {
int num = (int) (Math.random() * (10)) ;
if(!list.contains(num)) {
list.add(num);
}
}
System.out.println("随机数2:"+Arrays.toString(list.toArray()));
}
/**
* 利用set特性.自动去重
*/
private static void getRandomNum3() {
Set set = new TreeSet<>();
while(set.size() < 5) {
int num = (int) (Math.random() * (10)) ;
set.add(num);
}
System.out.println("随机数3:"+Arrays.toString(set.toArray()));
} /**
* 利用map特性做空判断
*/
private static void getRandomNum4() {
Map map = new HashMap<>();
while(map.size() < 5) {
int num = (int) (Math.random() * (10)) ;
if(map.get(num) == null ) {
map.put(num,num);
}
}
System.out.println("随机数4:"+map.values());
}
/**
* 批量生成随机数,取随机的5个
*/
private static void getRandomNum5() {
int[] arrs = new int[20];
for (int i = 0; i < arrs.length; i++) {
arrs[i] = i ;
}
int[] arr = new int[5];
boolean[] flag = new boolean[arrs.length];
Random random=new Random();
int j = 0;
for (int i = 0; i < arr.length; i++) {
do {
j = random.nextInt(flag.length);
} while (flag[j]); //标记,如果取出来过就继续do while 只有不符合while才会继续
flag[j] = true;
arr[i]=arrs[j];
}
System.out.println("随机数5:"+Arrays.toString(arr));
}
}

java se 随机数。生成的更多相关文章

  1. Java SE教程

    第0讲 开山篇 读前介绍:本文中如下文本格式是超链接,可以点击跳转 >>超链接<< 我的学习目标:基础要坚如磐石   代码要十份规范   笔记要认真详实 一.java内容介绍 ...

  2. Java SE 8 新增特性

    Java SE 8 新增特性 作者:Grey 原文地址: Java SE 8 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new_ ...

  3. Java SE 简介 & 环境变量的配置

    Java SE 简介 & 环境变量的配置 一.Java 技术的三个方向 Java 技术分为三个方向 javaSE( Java Platform Standard Edition 标准版)用来开 ...

  4. java产生随机数的几种方式

    java产生随机数的几种方式 一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他 ...

  5. Java SE 6 新特性: Java DB 和 JDBC 4.0

    http://www.ibm.com/developerworks/cn/java/j-lo-jse65/index.html 长久以来,由于大量(甚至几乎所有)的 Java 应用都依赖于数据库,如何 ...

  6. Java SE 6 新特性: 对脚本语言的支持

    2006 年底,Sun 公司发布了 Java Standard Edition 6(Java SE 6)的最终正式版,代号 Mustang(野马).跟 Tiger(Java SE 5)相比,Musta ...

  7. JAVA获取随机数

    在Java中我们能够使用java.util.Random类来产生一个随机数发生器.它有两种形式的构造函数,各自是Random()和Random(long seed).Random()使用当前时间即Sy ...

  8. Java SE 6 新特性: HTTP 增强--转

    概述 Java 语言从诞生的那天起,就非常注重网络编程方面的应用.随着互联网应用的飞速发展,Java 的基础类库也不断地对网络相关的 API 进行加强和扩展.在 Java SE 6 当中,围绕着 HT ...

  9. java 获取随机数的三种方法

    方法1(数据类型)(最小值+Math.random()*(最大值-最小值+1))例:(int)(1+Math.random()*(10-1+1))从1到10的int型随数 方法2获得随机数for (i ...

随机推荐

  1. 用DLL实现插件的简单演示

    这是DLL的代码 library MyDll; uses SysUtils, Dialogs, Classes; procedure ShowInfo(info:PChar);stdcall; beg ...

  2. 运动目标检测中基于HSV空间的阴影去除算法

    在运动目标检测中,常常会出现由于光线被遮挡,或场景其他物体的遮挡,在目标附近或场景里出现阴影,阴影的出现对后期目标的正确分割与处理带了很大的不便.如今,国内外已有不少文献来研究这个问题,并且提出了各种 ...

  3. linux(ubuntu)下安装phantomjs

    1.安装phantomjs ubuntu下sudo apt-get install phantomjs下载的不能用 —-下载程序文件 到官网下载 1.安装phantomjs —-下载程序文件 wget ...

  4. javascript map forEach filter some every在购物车中的实战演练区分用法

    1.map forEach 1.map 循环遍历每一项,返回一个新的数组 例: 购物车商品小计: //购物车 var cart=[ {"id":101,"name&quo ...

  5. C# .NET 4.5 将多个文件添加到压缩包中

    string zipFilePath = @"d:\test.zip"; string file1 = @"D:\门头照处理\门店照片2018-3-19 wuxl\门店照 ...

  6. 开发人员行走Unix的随身四艺

    Unix系统永远只会越来越多,开发人员就没必要特意学习它们的安装.配置和管理了,就全部交给集成人员吧.     但开发人员行走于Unix之间,依然有四样东西要熟练. 一.VI     虽然Unix上的 ...

  7. 黄聪:C#如何使用fiddlercoreCapture监控手机APP

    1.去下载Fiddler:https://www.telerik.com/download/fiddler 2.安装Fiddler,按下图所示导出证书,导出后在桌面得到:FiddlerRoot.cer ...

  8. 黄聪:jquery.bootgrid表格插件有的属性(visibleInSelection、cssClass、headerCssClass、headerAlign)不能识别的解决办法

    主要是属性大小写问题,修改jquery.bootgrid.js文件,在function loadColumns()方法里面添加下面的语句就好了 data.headerAlign = data.head ...

  9. ALGO-143_蓝桥杯_算法训练_字符串变换

    问题描述 相信经过这个学期的编程训练,大家对于字符串的操作已经掌握的相当熟练了.今天,徐老师想测试一下大家对于字符串操作的掌握情况.徐老师自己定义了1,,,,5这5个参数分别指代不同的5种字符串操作, ...

  10. JVM 专题

    未完待续>>> JVM - 整体结构 摘抄自:<分布式java应用基础与实践>-第三章 JVM - 内存 对上图各部分的概要解释: JVM - GC 详情参考: http ...