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. linux日志守护进程 syslog

    几乎所有的网络设备都可以通过syslog协议,将日志信息以UDP的形式传送给远端服务器,远端接收日志服务器必须通过syslogd监听UDP端口514,并根据 syslog.conf 配置文件张的配置处 ...

  2. FTP原理与配置

    FTP(file transfer protocol)文件传输协议(基于tcp协议).是用来传送文件的协议,使用FTP实现文件传输的同时,还可以保证数据传输的可靠性和高效性.通过学习我们需要掌握以下两 ...

  3. Luogu P4144 大河的序列 贪心+脑子

    首先向颜神犇致敬...还是自己太菜,又不仔细思考,上来就翻题解$qwq$ 首先有一种贪心方法:即,$ans=2*max(dirty_i)$ 证明:若现在的答案为$ans$,考虑一个新的数$x$对答案的 ...

  4. CF C. Plasticine zebra (思维)

    题意: 是输入一个只有'w','b'的字符串,可以对他的任意位置切割成两个子串,切割后的右边的子串翻转后再和左边的子串拼起来会得到一个新的字符串,操作次数不限,问能得到的字符串中wb交替出现的最大的长 ...

  5. 74th LeetCode Weekly Contest Valid Number of Matching Subsequences

    Given string S and a dictionary of words words, find the number of words[i] that is a subsequence of ...

  6. lintcode-dfs实现二叉树的层序遍历

    class Solution { /** * @param root: The root of binary tree. * @return: Level order a list of lists ...

  7. TOMCAT热部署 catalina.home catalina.base

    catalina.home 一台机器通常只有一个, 指向Tomcat的安装目录 catalina.base  一台机器可以启动多个Context, 每个Context对应一个catalina.base ...

  8. Linux中ext2文件系统的结构

    1.ext2产生的历史 最早的Linux内核是从MINIX系统过渡发展而来的.Linux最早的文件系统就是MINIX文件系统.MINIX文件系统几乎到处都是bug,采用的是16bit偏移量,最大容量为 ...

  9. 关于response.write(alert(''))弹窗改变页面格式问题

    不建议使用 Response.Write("<script>alert('增加年级失败')</script>"); 而使用 Page.ClientScrip ...

  10. 关于alibaba.fastjson的一些简单使用

    // 把JSON文本parse为JSONObject或者JSONArray public static final Object parse(String text); // 把JSON文本parse ...