Java基础面试操作题: 获取 1-20 之间的随机数,共计 20 个,要求不能重复 获取 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 之间的随机数,共计 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 个,要求不能重的更多相关文章
- Java基础面试操作题:读取该文件内容,并按照自然顺序排序后输出到 另一个文件中
package com.swift; import java.io.FileInputStream; import java.io.FileNotFoundException; import java ...
- Java基础面试操作题: File IO 文件过滤器FileFilter 练习 把一个文件夹下的.java文件复制到另一个文件夹下的.txt文件
package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File ...
- Java基础面试操作题:线程同步代码块 两个客户往一个银行存钱,每人存三十次一次存一百。 模拟银行存钱功能,时时银行现金数。
package com.swift; public class Bank_Customer_Test { public static void main(String[] args) { /* * 两 ...
- Java基础面试操作题: 线程问题,写一个死锁(原理:只有互相都等待对方放弃资源才会产生死锁)
package com.swift; public class DeadLock implements Runnable { private boolean flag; DeadLock(boolea ...
- Java基础面试操作题:Java代理工厂设计模式 ProxyFactory 有一个Baby类,有Cry行为,Baby可以配一个保姆 但是作为保姆必须遵守保姆协议:能够处理Baby类Cry的行为,如喂奶、哄睡觉。
package com.swift; public class Baby_Baomu_ProxyFactory_Test { public static void main(String[] args ...
- Java基础-线程操作共享数据的安全问题
Java基础-线程操作共享数据的安全问题 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.引发线程安全问题 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码.程序每次运 ...
- Java基础面试系列(一)
Java基础面试总结(一) 1. 面向对象和面向过程的区别 面向过程 面向对象 性能 高于面向对象 类加载的时候需要实例化,比较消耗资源 三易(易维护,易复用,易扩展) 不如面向对象 具有封装,继承, ...
- 2019年6月份,阿里最新Java高频面试真题汇总,仅供参考(附福利)
目录 技术一面(23问) 技术二面(3大块) JAVA开发技术面试中可能问到的问题(17问) JAVA方向技术考察点(33快) 项目实战(7大块) 必会知识(48点) 面试小技巧 注意事项 1. 阿里 ...
- 【转】2019年7月份,阿里最新Java高频面试真题汇总
技术一面(23问)技术二面(3大块)JAVA开发技术面试中可能问到的问题(17问)JAVA方向技术考察点(33快)项目实战(7大块)必会知识(48点)面试小技巧注意事项1. 阿里技术一面 Java I ...
随机推荐
- python排序(冒泡、直接选择、直接插入等)
冒泡排序 冒泡法:第一趟:相邻的两数相比,大的往下沉.最后一个元素是最大的. 第二趟:相邻的两数相比,大的往下沉.最后一个元素不用比. #冒泡排序 array = [1,5,6,2,9,4,3] de ...
- 非局部均值去噪(NL-means)
非局部均值(NL-means)是近年来提出的一项新型的去噪技术.该方法充分利用了图像中的冗余信息,在去噪的同时能最大程度地保持图像的细节特征.基本思想是:当前像素的估计值由图像中与它具有相似邻域结构的 ...
- 020 Valid Parentheses 有效的括号
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效.括号必须以正确的顺序关闭,"()" 和 "()[]{}" 是有效的 ...
- 了解Unix进程(3)
fork() 系统调用可以创建新的进程.然后查看进程ID和父进程ID使用getpid()和getppid()函数. 使用C语言描述: #include <unistd.h> #includ ...
- python学习三(数据保存到文件)
以写模式打开文件:需要指定写模式,如下所示 data = open('data.out','w') 如果文件已经存在,则会清空它现有的所有内容.要追加一个文件,需要使用访问模式a,会追加到下一行. 例 ...
- The bytes/str dichotomy in Python 3 [transport]
reference and transporting from: http://eli.thegreenplace.net/2012/01/30/the-bytesstr-dichotomy-in-p ...
- HTML5 应用缓存和常规的 HTML 浏览器缓存有何差别?
HTML5 的应用缓存最关键的就是支持离线应用,可获取少数或者全部网站内容,包括 HTML.CSS.图像和 JavaScript 脚本并存在本地.该特性加速了网站的性能,可通过如下方式实现: < ...
- 关于Linux Mint下的pluma软件打开txt文本文件有时候乱码的解决办法
解决方法: 1.在终端输入“dconf-editor”回车(见图2).(如果没有安装用“sudo apt-get install dconf-tools”安装.) 图2 2.展开org/gnome/g ...
- Mavlink 协议 理解
来源:blog.csdn.net/super_mice/article/details/44836585 之前看了mavlink协议,网上关于mavlink的资料不多.本文大概总结了下对mavlink ...
- 学习笔记:MDN的服务器端网站编程
互联网是如何工作的 互联网(Internet)和网络(web) 互联网是基础设施,网络是建立在这种基础设施之上的服务. 网页,网站,网络服务器和搜索引擎的区别是什么? 网页(webpage) 一份能够 ...