生成0-42之间的7个不重复的int值

 1 public static void main(String[] args) {      //set集合存储不重复无序的值
 2         Set<Integer> set = new HashSet<Integer>();
 3         Random random = new Random();
 4         boolean panduan = true;
 5         while (true) {
 6             int z = random.nextInt(43);          //set.add();返回boolean值
 7             panduan = set.add(z);
 8             if (!panduan) {
 9                 continue;
10             }
11             if (set.size() >= 7) {
12                 break;
13             }
14
15         }
16
17         System.out.println(set);
18
19     }

原文地址:https://www.cnblogs.com/lyb0103/p/8179203.html

时间: 2024-10-20 21:43:05

生成0-42之间的7个不重复的int值的相关文章

生成0~9之间不重复的随机数

int main(void) { int m[9] = { 0 }; int flag = 0; srand(time(0)); for (int i = 0; i < 9; i++) { do { flag = 0; m[i] = rand() % 9 + 1; for (int j = 0; j < i; j++) { if (m[j] == m[i]) { flag = 1; } } } while (flag==1); } for (int i = 0; i < 9; i++)

使用Random随机生成[min,max]之间的整数:

如下代码是生成范围在min到max之间的随机整数(包括min和max):   import java.util.Random; /** * 生成[min,max]的随机整数 * @author meikai * @version 2017年11月4日 上午11:04:52 */ public class RandomTest { public static void main(String args[]) { int num =new RandomTest().test(5,12); Syste

已知可生成0~4的rand5(),实现生成0~6的rand7()

若已知生成0~6的rand7(),求生成0~4的rand5(),则一个方法就是不断生成0~7的数,直到这个数满足0~4就返回. int rand5(){ int res; do{ res = rand7(); }while(res >4); return res; } 现在已知生成0~4的rand5(),求解生成0~6的rand7(),就是想办法利用rand5()去生成0~大于6的数字,可以使用rand5()+rand5()*5,这个式子可以生成0~24的随机数,每个数字的组成只有一种可能,所以

随机函数只生成0和1

问题: 有一个随机函数只生成0和1,生成0的概率是p,生成1的概率是1-p,如何操作能使得生成1和0的概率都是1/2? 解答: 因为调用两次随机函数,则00的概率是p*p,11的概率是(1-p)*(1-p), 01的概率是p*(1-p),10的概率也是p(1-p),所以,当01的时候输出1,01的时候输出0即可.

centos7编译安装pure-ftpd-1.0.42

1.下载 wget https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.42.tar.gz 2.安装 tar xvf pure-ftpd-1.0.42.tar.gz cd pure-ftpd-1.0.42 ./configure --prefix=/usr/local/pureftpd --with-everything --with-cookie --with-diraliases --with-extauth

52.从键盘上输入若干学生成绩(成绩在0~100之间),计算平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入

//1.建立一个for循环用于输入数据,设置退出条件 //2.算出平均成绩 #include<iostream> using namespace std; int main() { int Score,sum=0,k=0; int a[100]; float Average; cout<<"please input some students's score:"<<endl; for(int i=0;i<100;i++) { cin>&g

C语言 判断0~3000之间的闰年

熟话说"四年一润,百年不润,四百年再润".那么我们来用编程查找闰年吧! #include<stdio.h> int main() { int year,leap=1;  printf("\t\t\t判断0~3000之间的闰年\n");  printf("请输入0~3000之间的年份\n"); flag:  scanf("%d",&year); //输入年份  if(year>0&&ye

Install tomcat 7.0.42 in ubuntu

frome http://askubuntu.com/questions/339169/how-to-install-tomcat-7-0-42-on-ubuntu-12-04-3-lts Note: visit this question if you want to know why it's not in the repositories: Why don't the Ubuntu repositories have the latest versions of software? Pre

js 数组排序要注意的问题,返回的值最好为 -1, 0, 1之间的值

var test10Elements = [7, 6, 5, 4, 3, 2, 1, 0, 8, 9]; var comparefn = function (x, y) { return x - y; }; test10Elements.sort(comparefn); var comparefn2 = function (x, y) { return x > y; }; test10Elements.sort(comparefn2); http://w3help.org/zh-cn/cause