package com.swift;

import java.util.HashSet;
import java.util.Random;
import java.util.Set; public class Suijishu_Test { public static void main(String[] args) {
/*
* 获取 1-20 之间的随机数,共计 20 个,要求不能重
*/ Random ran = new Random();
Set<Integer> set = new HashSet<Integer>();
int num;
for (int i = 0; i < 100; i++) {
num = ran.nextInt(20) + 1;
System.out.println(num);
set.add(num);
}
System.out.println();
for(Integer i:set) {
System.out.print(i+"~");
}
} }

获取1~20间的随机数 共计10个,要求不能重复

package com.swift;

import java.util.HashSet;
import java.util.Random;
import java.util.Set; public class Suijishu_Test { public static void main(String[] args) {
/*
* 获取 1-20 之间的随机数,共计 10 个,要求不能重
*/ Random ran = new Random();
Set<Integer> set = new HashSet<Integer>();
int num;
for (int i = 0; i < 100; i++) {
num = ran.nextInt(20) + 1;
System.out.println(num);
set.add(num);
if(set.size()>=10) {
break;
}
}
System.out.println();
for(Integer i:set) {
System.out.print(i+"~");
}
} }

使用另一种方法获得随机数,System.currentTimeMIllis()

package com.swift;

import java.util.HashSet;
import java.util.Random;
import java.util.Set; public class Suijishu_Test { public static void main(String[] args) {
/*
* 获取 1-20 之间的随机数,共计 10 个,要求不能重
*/ Set<Integer> set = new HashSet<Integer>();
int num;
for (int i = 0; i < 100; i++) {
num =(int) (System.currentTimeMillis() % 20+1);
try {
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(num);
set.add(num);
if (set.size() >= 10) {
break;
}
}
System.out.println();
for (Integer i : set) {
System.out.print(i + "~");
}
} }

使用Math类的random方法

package com.swift;

import java.util.HashSet;
import java.util.Random;
import java.util.Set; public class Suijishu_Test { public static void main(String[] args) {
/*
* 获取 1-20 之间的随机数,共计 10 个,要求不能重
*/ Set<Integer> set = new HashSet<Integer>();
int num;
for (int i = 0; i < 100; i++) {
num =(int) (Math.random()*20+1);
System.out.println(num);
set.add(num);
if (set.size() >= 10) {
break;
}
}
System.out.println();
for (Integer i : set) {
System.out.print(i + "~");
}
} }

Java基础面试操作题: 获取 1-20 之间的随机数,共计 20 个,要求不能重复 获取 1-20 之间的随机数,共计 10 个,要求不能重的更多相关文章

  1. Java基础面试操作题:读取该文件内容,并按照自然顺序排序后输出到 另一个文件中

    package com.swift; import java.io.FileInputStream; import java.io.FileNotFoundException; import java ...

  2. Java基础面试操作题: File IO 文件过滤器FileFilter 练习 把一个文件夹下的.java文件复制到另一个文件夹下的.txt文件

    package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File ...

  3. Java基础面试操作题:线程同步代码块 两个客户往一个银行存钱,每人存三十次一次存一百。 模拟银行存钱功能,时时银行现金数。

    package com.swift; public class Bank_Customer_Test { public static void main(String[] args) { /* * 两 ...

  4. Java基础面试操作题: 线程问题,写一个死锁(原理:只有互相都等待对方放弃资源才会产生死锁)

    package com.swift; public class DeadLock implements Runnable { private boolean flag; DeadLock(boolea ...

  5. Java基础面试操作题:Java代理工厂设计模式 ProxyFactory 有一个Baby类,有Cry行为,Baby可以配一个保姆 但是作为保姆必须遵守保姆协议:能够处理Baby类Cry的行为,如喂奶、哄睡觉。

    package com.swift; public class Baby_Baomu_ProxyFactory_Test { public static void main(String[] args ...

  6. Java基础-线程操作共享数据的安全问题

    Java基础-线程操作共享数据的安全问题 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.引发线程安全问题 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码.程序每次运 ...

  7. Java基础面试系列(一)

    Java基础面试总结(一) 1. 面向对象和面向过程的区别 面向过程 面向对象 性能 高于面向对象 类加载的时候需要实例化,比较消耗资源 三易(易维护,易复用,易扩展) 不如面向对象 具有封装,继承, ...

  8. 2019年6月份,阿里最新Java高频面试真题汇总,仅供参考(附福利)

    目录 技术一面(23问) 技术二面(3大块) JAVA开发技术面试中可能问到的问题(17问) JAVA方向技术考察点(33快) 项目实战(7大块) 必会知识(48点) 面试小技巧 注意事项 1. 阿里 ...

  9. 【转】2019年7月份,阿里最新Java高频面试真题汇总

    技术一面(23问)技术二面(3大块)JAVA开发技术面试中可能问到的问题(17问)JAVA方向技术考察点(33快)项目实战(7大块)必会知识(48点)面试小技巧注意事项1. 阿里技术一面 Java I ...

随机推荐

  1. 洛谷P2068 统计和

    题目描述 给定一个长度为\(n(n \leq 100000)\),初始值都为\(0\)的序列,\(x(x \leq 10000)\)次的修改某些位置上的数字,每次加上一个数,然后提出\(y (y \l ...

  2. jmeter使用BeanShell Sampler测试自己写的java接口(一)

    上次直接使用jmeter里面的FTPsampler没有连接成功 现在想着自己写java代码,通过jmeter进行调用进行连接测试实现并发 代码引文: http://www.cnblogs.com/ch ...

  3. 积分图像的应用(二):非局部均值去噪(NL-means)

    非局部均值去噪(NL-means)一文介绍了NL-means基本算法,同时指出了该算法效率低的问题,本文将使用积分图像技术对该算法进行加速. 假设图像共像个素点,搜索窗口大小,领域窗口大小, 计算两个 ...

  4. Hive 基本语法操练(六):Hive 的权限控制

    Hive 的权限控制 Hive从0.10可以通过元数据控制权限.但是Hive的权限控制并不是完全安全的.基本的授权方案的目的是防止用户不小心做了不合适的事情. 为了使用Hive的授权机制,有两个参数必 ...

  5. SpringBoot | 第二十一章:异步开发之异步调用

    前言 上一章节,我们知道了如何进行异步请求的处理.除了异步请求,一般上我们用的比较多的应该是异步调用.通常在开发过程中,会遇到一个方法是和实际业务无关的,没有紧密性的.比如记录日志信息等业务.这个时候 ...

  6. Docker | 第五章:构建自定义镜像

    前言 上一章节,主要是介绍了下Dockerfile的一些常用命令的说明.我们知道,利用Dockerfile可以构建一个新的镜像,比如运行Java环境,就需要一个JDK环境的镜像,但直接使用公共的镜像时 ...

  7. C#与JAVA学习感悟

    C#与JAVA学习感悟 学完C#与JAVA,感觉收获良多.C#与JAVA这两门语言相似度很高(了解它们早期历史的人可能知道为什么),也许很多人在学习JAVA(或C#)时会同时学习C#(或JAVA),因 ...

  8. DockerSwarm 微服务部署

    一.简介 之前<服务Docker化>中,使用 docker-compose.yml 来一次配置启动多个容器,在 Swarm 集群中也可以使用 compose 文件 (docker-comp ...

  9. Router模块

    一.应用场景 监听浏览器地址栏URL的hash值(#后面的部分)的变化,用正则匹配出参数执行相应的JS方法.URL地址的hash部分充当业务逻辑的分发单位. 示例: <!DOCTYPE html ...

  10. ajax实现异步请求的过程

    var xhr;        xhr = new XMLHttpRequest(); //创建一个异步对象        xhr.open("Get", "test.a ...