78 求随机数 不重复的值

Posted 胖豆芽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了78 求随机数 不重复的值相关的知识,希望对你有一定的参考价值。

package com.fqs.test;

import java.util.Random;
import java.util.Scanner;

public class hello 
    public static void main(String[] args) 
        //获取三个不相等的随机数
        int weishu=6;
        getNo(weishu);


    
   /*//获取一个4位随机数的数组
    public static int[] getNum() 
        Random r=new Random();
        int []arrNum=new int[4];
        for(int i=0;i<4;i++)
              int num=r.nextInt(4);
              arrNum[i]=num;
        
        return arrNum;
    //获取数组*/

   /* //判断数组中是否有重复的
    public static void isFind(int arrNum[]) 
        boolean isFind=false;
        int count=0;//相等的次数
        for (int i = 0; i < 4; i++) 
            for (int j = 0; j < i; j++) 
                if(arrNum[i]==arrNum[j])
                    count++;
                    isFind=true;
                
            
        
        if(count==0)
            System.out.println("没有重复的");
        
        else
            System.out.println("有重复的");

        


    //判断重复*/

    //获取一个不重复的 位随机数
    public static void getNo(int weishu) 
        Random r=new Random();
        int []arr=new int[weishu];
        int temp=r.nextInt(100);//第一个随机数
        System.out.println("第一个随机数temp:"+temp);
        arr[0]=temp;//将第一个随机数放到数组中 下标0

            for (int i = 1; i <weishu; ) 
                int temp2=r.nextInt(100);//第二个随机数
                System.out.println("--其他随机数:"+temp2);
                boolean isFind=false;//在外循环与内循环之间设置isFind
                for (int j = 0; j <i ; j++) 

                    if(temp2==arr[j])//内循环里做值之间的比较
                        isFind=true;
                        break;
                    
                
                //跳出内循环 在外循环里写将值赋值到数组中
                if(!isFind)
                    arr[i]=temp2;
                    i++;
            


            
        for (int i = 0; i < arr.length ; i++) 
            System.out.println("----------------");

            System.out.println("arr2["+i+"]:"+arr[i]);
        

    //结束找


//类结束

 

java问题 自定义字符串数组, 里面存了同学的姓名,要求随机显示数组中的姓名且不重复~求各位大

java问题 自定义字符串数组, 里面存了同学的姓名,要求随机显示数组中的姓名且不重复~求各位大神解答

其实最简单的方法是把这些字符串一个一个放到map中,利用map存放的无序性达到随机的目的,输出的时候遍历map就可以了
当然了这样做也有缺陷,虽然是无序的,但是第一次和第二次是一样的,也就是你每次执行输出的结果都是一样的。
第二种方法就是利用随机值了,生成随机值,然后根据随机值取数组中的值,这样会有重复
继续优化:每次取出值后将数组中被取出的值删除,并且将随机数生成的最大值-1,这样就做到了
参考技术A 啥时候要追问

我刚开始学 他是当点确认的时候窗口显示一个同学的姓名

越快越好。求解答

你光给我她怎么比较显示不重复的那部分代码就可以啦 谢谢你

追答

每次只显示一个

又要不重复

是纯Java编程吗

追问

是的

追答

点击确定是用swing

追问

还是有重复的~哎

追答

http://blog.csdn.net/zhouyufengqingyang/article/details/45443931

试试这个

把你代码发过来

追问

学校断网了 发不过去~

追答

兄弟

你这不是逗我吗

追问

我也没办法啊 ,哎

追答

好吧

我高Java两年多了

用框架用多了
底层忘记太多了

追问

你都工作了?

现在是做java开发的吗?

追答

没有

大三

做Javassh开发

还有Android php

追问

加个QQ吧 等我今晚发给你

追答

1693056080

1690356080

本回答被提问者采纳

以上是关于78 求随机数 不重复的值的主要内容,如果未能解决你的问题,请参考以下文章

求PHP语言随机自动生成不重复的数字

oracle 随机生成12位不重复数据,求高手写个存储过程。高分!!!

求两个数之间的随机正整数

递归算法实现,数组长度为 5 且元素的随机数在 2-32 间不重复的值

同时不改变循环外变量的值。我需要制作一种以随机方式对数组进行洗牌的方法。 (C#请)[重复]

js如何在一个时间段内生成随机的的时间日期?求指教?