Tag: 随机

在java中随机使用字符串?

我试图随机选择4个字符串中的字符串,并在控制台上显示此字符串。 我该怎么做 ? 例如,有一个问题,如果用户正确回答,那么控制台将显示我选择的一个字符串。 我知道如何随机选择一个整数值,但我无法弄清楚如何随机选择一个字符串。 请帮忙?

设置种子以确定性地在Java中对ArrayList进行洗牌

我有一个整数列表(目前使用cern.colt.list.IntArrayList )。 我可以打电话给“shuffle()”然后随意洗牌。 我希望能够重现一场洗牌。 我可以通过设置种子来重现一系列随机数。 在这种情况下,我似乎无法设置种子。 我该怎么办? 我对其他实现持开放态度。

我该如何改变一个单词的字母呢?

什么是最简单的方法来改变数组中单词的字母? 我在数组中有一些单词,我随机选择一个单词,但我也想把它的字母洗牌。 public static void main (String[] args ) { String [] animals = { “Dog” , “Cat” , “Dino” } ; Random random = new Random(); String word = animals [random.nextInt(animals.length)]; System.out.println ( word ) ; //I Simply want to shuffle the letters of word } 我不应该使用那个列表的东西。 我想出了类似的东西,但是用这个代码打印随机字母,它不会洗牌。 也许我可以编写类似于不打印的字母,如果那封信已经打印过了? //GET RANDOM LETTER for (int […]

如何从给定的数字列表中使用Java生成随机数

假设我有一个数字/向量的数字,如1,3,7,9然后我需要随机猜测这个列表中的数字。 在Java中使用Random类似乎不可能这样做。 任何人都可以帮助我说出做这种事情的方法。 我必须更改用于生成随机数的数字列表。 我正在尝试实施一种战略,作为任务自动发挥战舰游戏。 请帮我这样做?

如何从给定范围中选择随机值

我正在尝试创建一个Android应用程序,它将在给定范围内生成随机序列值(在这种情况下为整数)(但在它们之间不相等)并在简单的TextView中显示它们 假设我们的范围为R = [1,2,3,4,5,6,7,8,9,10,11,12,13] 每次按“生成”按钮,我想随机生成5个不同的结果 每个“生成”的示例: 4,9,2,12,10 5,1,6,8,13 10,4,6,8,2 等等… 编辑(现在工作)感谢您的帮助! public class random extends Activity { static final Integer[] data = new Integer[] { 1, 2, 3, 4, 5, 6, 7, 8 }; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); Random r = new Random(); Set mySet = new HashSet(); while (mySet.size() < […]

使用Java中的随机数据库快速排序

我被指派用一个随机的枢轴点来实现快速排序(因为它被认为是最有效/最安全的方式),但我一直在奴役一个bogosort。 任何人都可以指导我如何做到这一点? 并且有人可以帮助我看看我的bogosort,看看我是否可以保存它? public static void Quick(int[] target, int lo, int hi) { if(hi-lo==0){return;} Random numberGenerator = new Random(); int pivot = (numberGenerator.nextInt(hi-lo)+lo); int high; for(high=hi; high>pivot ; high–){ if(target[high]<target[pivot]){ //if highest was smaller than pivot, move far end if(high-pivot==1){ int temp=target[high]; target[high]=target[pivot]; target[pivot]=temp; } else{ int temp1 = target[pivot]; int temp2 = target[pivot+1]; target[pivot]=target[high]; […]

如何在Java中创建随机BigDecimal?

这个问题: 如何生成随机BigInteger描述了一种实现与BigIntegers的Random.nextInt(int n)相同语义的方法。 我想对BigDecimal和Random.nextDouble()做同样的事情。 上述问题的一个答案建议创建一个随机的BigInteger,然后用随机比例从中创建一个BigDouble。 一个非常快速的实验表明这是一个非常糟糕的主意:) 我的直觉是使用这种方法需要通过像n-log10(R)类的东西来缩放整数,其中n是输出中所需精度的位数,R是随机BigInteger。 这应该允许存在正确的位数,以便(例如)1 – > 10 ^ -64和10 ^ 64 – > 1。 还需要正确选择缩放值,使结果落在[0,1]范围内。 有没有人以前做过这个,他们知道结果是否正确分布? 有没有更好的方法来实现这一目标? 编辑:感谢@biziclop纠正我对scale参数的理解。 以上不是必需的,恒定的比例因子具有期望的效果。 为了以后的参考,我(显然是工作代码)是: private static BigDecimal newRandomBigDecimal(Random r, int precision) { BigInteger n = BigInteger.TEN.pow(precision); return new BigDecimal(newRandomBigInteger(n, r), precision); } private static BigInteger newRandomBigInteger(BigInteger n, Random rnd) { BigInteger r; do { r […]

Java:以随机间隔调度任务

我是Java的新手,我正在尝试生成一个每5到10秒运行一次的任务,所以在5到10之间的任何时间间隔,包括10。 我尝试了几件事但到目前为止没有任何工作。 我最近的努力如下: timer= new Timer(); Random generator = new Random(); int interval; //The task will run after 10 seconds for the first time: timer.schedule(task, 10000); //Wait for the first execution of the task to finish: try { sleep(10000); } catch(InterruptedException ex) { ex.printStackTrace(); } //Afterwards, run it every 5 to 10 seconds, until a […]

基本随机滚动骰子Java

我正在尝试编写一个方法rollDice(int number,int nSides),它返回使用nSides边滚动数字骰子的总结果。 因此,例如rollDice(3,6)应该返回滚动3个六面骰子的结果(添加到3到18之间的数字)。 当我为int number输入1时,下面的方法返回负数,我需要做些什么来解决这个问题? public static int rollDice(int number, int nSides) { int num = 0; if(nSides >=3) { for(int i = 0; i < number; i++){ Random r = new Random(); int roll = r.nextInt(); num = num + (roll % nSides)+1; } } else{ System.out.println("Error num needs to be from 3"); […]

有没有办法从一系列数字中生成种子?

例如,如果java通过使用23作为种子产生伪随机序列: 9 3 2 5 6 ,我该如何进行反演? 即从序列中获得23 个3 3 2 5 6 。 或者我如何为特定序列分配种子? 如果有数据库则很容易 – 只需为序列分配一个随机密钥 INSERT INTO SEQUENCE_TABLE VALUES (RANDOM_KEY, SEQUENCE) 但是,如果我不被允许使用数据库,是否有一个公式来做这样的事情?