如何基于输入单词生成随机单词?是否需使用for循环?
用输入单词的字符生成随机单词:是否需要for循环?
嘿,当然可以用for循环,这其实是实现这个需求非常直观的方式!你已经把基础架子搭好了,现在就差往循环里填核心逻辑啦。
为什么for循环合适呢?因为你需要逐个构建随机单词的每一个字符——循环可以帮你控制生成字符的次数(比如和原单词长度一致,或者你自定义长度),每一轮从原单词的字符数组里随机挑选一个字符,拼到结果里就行。
给你调整后的代码,直接就能跑:
public static void main(String[] args) { Random rand = new Random(); Scanner input = new Scanner(System.in); System.out.println("Enter a word: "); String temp = input.nextLine(); char[] myWord = temp.toCharArray(); StringBuilder randomWord = new StringBuilder(); // 循环原单词长度的次数,逐个生成随机字符 for(int i=0;i<myWord.length;i++) { // 随机获取一个字符数组的下标 int randomIndex = rand.nextInt(myWord.length); // 将该下标对应的字符追加到结果中 randomWord.append(myWord[randomIndex]); } System.out.println("Generated random word: " + randomWord.toString()); }
额外提一句:如果不想生成和原单词长度相同的随机词,只要把循环的终止条件改成你想要的数字就行(比如i < 8就生成8个字符的单词)。要是你想实现的是打乱原单词的字符顺序(不重复使用字符),那逻辑会有点变化,但依然可以用for循环来完成,只不过需要额外处理已选字符的标记哦。
内容的提问来源于stack exchange,提问作者Armin
相关产品推荐
相关产品推荐

