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

时间:2018-01-08 13:46:17

标签: java random

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

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

2 个答案:

答案 0 :(得分:4)

你的意思是:

char[] sequence = {'t', 'h'};
Random random = new Random();
char result = sequence[random.nextInt(sequence.length)];

答案 1 :(得分: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格式不正确。

如果不阅读错误信息,就无法说出来。