首页 > 其他分享 >练习写 不重复的随机数

练习写 不重复的随机数

时间:2023-06-13 14:45:13浏览次数:42  
标签:arr weishu num0 重复 练习 arrNo int 随机数

package com.fqs.demo061301;

import com.sun.scenario.effect.impl.prism.ps.PPStoPSWDisplacementMapPeer;

import java.util.Random;

public class ArrNo {
    public static void main(String[] args) {
        //定义原始数组arr

        int []arr={11,22,33,44,55};
        int weishu=arr.length;
        //不重复额数组arrNo
        int[]arrNo2=getNo(weishu);

        //打印随机数 arrNo2里面包含不重复的下标
        for (int i = 0; i < weishu; i++) {
            System.out.println(arrNo2[i]);

        }

    }
    //获取随机数组  包含不重复的下标
    public static int[] getNo(int weishu) {
        int []arrNo=new int[weishu];
        //第一个随机数num0
        Random r=new Random();
        int num0=r.nextInt(weishu);
        System.out.println("第一个随机数:"+num0);
        arrNo[0]=num0;
        for (int i = 1; i < weishu; ) {//第二个,第三个随机数
            //第二个随机数num 不一定符合
            int num=r.nextInt(weishu);
            System.out.println("第"+(i+1)+"个不一定符合条件的随机数:"+num);
            boolean isFind=false;
            for (int j = 0; j <i ; j++) {
                if (num == arrNo[j]) {
                    System.out.println("相等,不符合条件");
                    isFind = true;
                    //有重复的
                    break;

                }

            }
            if(isFind==false){
                arrNo[i]=num;
                System.out.println("不相等,将"+num+"赋值给arrNo["+i+"]");
                i++;
            }
        }return arrNo;

    }
}

 

标签:arr,weishu,num0,重复,练习,arrNo,int,随机数
From: https://www.cnblogs.com/haha1988/p/17477444.html

相关文章

  • Java判断一个List中是否有重复元素
    1.将List转为Set,通过2个集合的size大小是否相等来判断有无重复元素publicstaticvoidmain(String[]args){ListstringList=newArrayList<>(Arrays.asList("a","a","b","c"));SetstringSet=newHashSet<>(stringList);......
  • 【基础算法】单链表的OJ练习(1) # 反转链表 # 合并两个有序链表 #
    前言上一章讲解了单链表==->==传送门==<-==,后面几章就对单链表进行一些简单的题目练习,目的是为了更好的理解单链表的实现以及加深对某些函数接口的熟练度。本章带来了两个题目。一是<fontcolor=red>反转链表</font>,二是<fontcolor=red>合并两个有序链表</font>,整体难......
  • [MtOI2019]幽灵乐团 / 莫比乌斯反演基础练习题
    [MtOI2019]幽灵乐团/莫比乌斯反演基础练习题题目描述东风谷早苗(KochiyaSanae)非常喜欢幽灵乐团的演奏,她想对她们的演奏评分。因为幽灵乐团有\(3\)个人,所以我们可以用\(3\)个正整数\(A,B,C\)来表示出乐团演奏的分数,她们的演奏分数可以表示为\[\prod_{i=1}^{A}\prod_......
  • 每日一练 | 华为认证真题练习Day57
    1、两台路由器通过PPP链路互连,管理员在两台路由器上配置了OSPF,且运行在同一个区域中,如果它们的RouterID相同,则下面描述正确的()。A.两台路由器将会建立正常的完全邻居关系B.两台路由器将不会互相发送hel1o信息C.两台路由器将会建立正常的完全邻接关系D.VRP会提示两台路由器的Rou......
  • 求一个不重复的数组
    packagecom.fqs.test;importjava.util.Random;publicclasshello{publicstaticvoidmain(String[]args){intweishu=6;int[]arr1=getNo(weishu);for(inti=0;i<weishu;i++){System.out.println("ar......
  • 算法练习-day5
    哈希表242.有效的字母异位词题意:给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。注意:若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词。示例:    思路:我们可以先创建一个unordered_map用于记录s中元素出现的次数,然后再遍历t,让t出现元素次数减去s出现......
  • 如何防止头文件被重复包含或引用?
    #include文件的一个不利之处在于一个头文件可能会被多次包含,为了说明这种错误,考虑下面的代码:#include"x.h"#include"x.h"显然,这里文件x.h被包含了两次,没有人会故意编写这样的代码。但是下面的代码:#include"a.h"#include"b.h"看上去没什么问题。如果a.h和b.h都包含了一个头文......
  • 练习12:通过Bar构建基础柱状图
    #通过Bar构建基础柱状图frompyecharts.chartsimportBarfrompyecharts.optionsimport*#构建柱状图对象bar=Bar()#添加x轴数据bar.add_xaxis(["中国","美国","英国"])#添加y轴数据bar.add_yaxis("GDP",[30,20,10])#绘图bar.render("基础......
  • linux使用flock文件锁解决脚本重复执行问题
    linux的crontab命令,可以定时执行操作,最小周期是每分钟执行一次。关于crontab实现每秒执行可参考我之前的文章《linuxcrontab实现每秒执行》现在有个问题,如果设定了任务每分钟执行一次,但有可能一分钟内任务并没有执行完成,这时系统会再执行任务。导致两个相同的任务在执行。例如:?......
  • lightdb 练习题
    lightdb练习题在LightDB/PostgreSQL中,有表a,定义为:createtablea(idintprimarykey,randint,commvarchar(128));如何一条语句生成一张1000万记录的表,且满足id从1001万-2000万,rand为0-1000000之间的随机整数,comm为随机生成的UUID?insertintoaselect*,random()......