相关疑难解决方法(0)

在Java中生成唯一的随机数

我试图获得0到100之间的随机数.但是我希望它们是唯一的,而不是在序列中重复.例如,如果我得到5个数字,它们应该是82,12,53,64,32而不是82,12,53,12,32我使用它,但它在序列中生成相同的数字.

Random rand = new Random();
selected = rand.nextInt(100);
Run Code Online (Sandbox Code Playgroud)

java random

73
推荐指数
7
解决办法
18万
查看次数

在Java中生成一组唯一的随机数

我想在0-500范围内创建10个随机数.但问题是我希望这些数字是唯一的.对于2个随机数,我可以创建如下内容:

int randomItem1 = r.nextInt(500);
int randomItem2 = r.nextInt(500);
while(randomItem1==randomItem2){
    randomItem1=randomItem();
    randomItem2=randomItem();
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样做10,我认为它会堆叠.而且我这样说是因为我正在尝试创建一个巨大的算法,它试图进行连续的评估,我想要不断地获取10个随机和唯一的数字.我不知道该怎么办.任何想法或建议?

java

6
推荐指数
3
解决办法
2万
查看次数

数组JAVA中的非重复随机数

我想在一个数组中生成6个数字,同时对它进行比较,因此它不会相同或没有重复数字.例如,我想以任何顺序生成1-2-3-4-5-6,最重要的是不重复.所以我想的是逐个比较生成的数组中的当前数组,如果数字重复,它将重新运行该方法并再次随机化一个数字,这样就可以避免重复数字.

这是我的代码:

import javax.swing.*;
public class NonRepeat
{
    public static void main(String args[])
    {
        int Array[] = new int [6];
        int login = Integer.parseInt(JOptionPane.showInputDialog("ASD"));
        while(login != 0)
        {
            String output="";

            for(int index = 0; index<6; index++)
            {
                Array[index] = numGen();

                for(int loop = 0; loop <6 ; loop++)
                {
                    if(Array[index] == Array[loop])
                    {
                        Array[index] = numGen();
                    }
                }


            }

            for(int index = 0; index<6; index++)
            {
                output += Array[index] + " ";
            }


            JOptionPane.showMessageDialog(null, output);

        }



    }

    public static int …
Run Code Online (Sandbox Code Playgroud)

java arrays random

2
推荐指数
1
解决办法
1万
查看次数

如何生成不重复的随机数

我使用随机数,我正在生成0到7之间的随机数.但是有一个问题:随机数有时会重复前一个数字.
我按下按钮生成一个随机数; 所以当点击按钮我有时真的得到一个不同的随机数,但有时它开始重复数字.举个例子:

单击按钮,有时数字在0-7范围内重复,如:

1-3-4-3-6-3-5-5
正如你所看到的,3重复多次,5也有两次出现.

因此,有两种不同类型的重复.我写了下面的代码,它应该杀死第二次重复(重复5次):

int randomNumber;
do {
    randomNumber = random.nextInt(7 - 0 + 1) + 0;
} while (randomNumber == lastRandomNumber);
lastRandomNumber = randomNumber;
Log.d("RandomNumber","= "+randomNumber);
return randomNumber;
Run Code Online (Sandbox Code Playgroud)

现在我想要的是:

它跟踪最后一个随机数,但现在我想跟踪所有先前生成的随机数.但是我该怎么做呢?实现这一目标的最佳方式是什么?请指导我或分享一些代码.

java android

-1
推荐指数
1
解决办法
996
查看次数

标签 统计

java ×4

random ×2

android ×1

arrays ×1