如何用Java中的两个选项生成一个随机字符? [重复]

问题描述 投票:1回答:2

这个问题在这里已有答案:

我想创建一个具有50%返回字符串"h"的机会的代码,其他50%将返回"t"。我知道有一种方法可以在Java中生成随机字符串,但是如何将它限制在只能从中获取'h''t'的程度?

这是一个简单的头尾游戏。用户输入h(head)或t(tails),代码生成随机答案。

java random
2个回答
2
投票

我会使用本地随机线程,例如

import java.util.concurrent.ThreadLocalRandom;

String ht = "ht"; // reused string
Random random = ThreadLocalRandom.current(); // reused Random
char flip = ht.charAt(random.nextInt(ht.length()));

我不会做的是

char[] sequence = {'t', 'h'}; // creates a new array each time
Random random = new Random(); // creates a new Random object each time
char result = sequence[random.nextInt(sequence.length)];

我唯一能找到的是导入java.util.Random,但这似乎不适用于这种情况

你真的应该能够导入这个类。如果没有,你有一个破坏的IDE配置,一个减少的微JDK,或你的import格式不正确。

没有阅读错误信息就不可能说。


4
投票

你的意思是 :

char[] sequence = {'t', 'h'};
Random random = new Random();
char result = sequence[random.nextInt(sequence.length)];
© www.soinside.com 2019 - 2024. All rights reserved.