如何输出随机选择的单词并从java文本文件中对同一单词进行置乱

如何输出随机选择的单词并从java文本文件中对同一单词进行置乱,java,Java,下面是我的输出。我希望我下面的乱序词与随机词相同。现在,它从文本文件中打印两个不同的单词,我希望它是相同的,除了一个是加扰的,另一个是常规的。下面是我的代码 导入java.io.File; 导入java.io.FileNotFoundException; 导入java.util.ArrayList; 导入java.util.Collections; 导入java.util.List; 导入java.util.Random; 导入java.util.Scanner; 公共类单词{ 专用静态扫描文

下面是我的输出。我希望我下面的乱序词与随机词相同。现在,它从文本文件中打印两个不同的单词,我希望它是相同的,除了一个是加扰的,另一个是常规的。下面是我的代码

导入java.io.File;
导入java.io.FileNotFoundException;
导入java.util.ArrayList;
导入java.util.Collections;
导入java.util.List;
导入java.util.Random;
导入java.util.Scanner;
公共类单词{
专用静态扫描文件;
私有静态列表字=新ArrayList();
私有静态列表字符=新ArrayList();
公共静态void openFile(){
试一试{
文件=新扫描仪(新文件(“words.txt”);
}catch(filenotfounde异常){
System.out.println(“未找到文件”);
e、 printStackTrace();
}捕获(例外e){
System.out.println(“IOException”);
}
}
公共静态字符串randomWord(){
随机r=新随机();
while(file.hasNext()){
words.add(file.next());
}
集合。洗牌(单词);
String randomWord=words.get(r.nextInt(words.size());
返回随机字;
}
公共静态字符串读加扰(字符串随机字){
for(char ch:randomWord.toCharArray()){
字符。添加(ch);
}
集合。洗牌(字符);
StringBuilder sb=新的StringBuilder();
对于(字符ch:characters){
某人附加(ch);
}
使某人返回字符串();
}
公共静态void main(字符串[]args){
openFile();
字符串加扰=读加扰(randomWord());
System.out.println(“加扰字是:“+Scramble”);
字符串random=randomWord();
System.out.println(“随机字是:“+Random”);
}
}

更改您的主要方法:

  public static void main(String[] args) {

    openFile();

    String word = randomWord();

    String scramble = readScramble(word);
    System.out.println("Scramble Word is: " + scramble);

    System.out.println("Random Word is: " + word);

}

顺便说一下,也许您应该将此代码发布到代码复查堆栈交换上。

您调用了两次
randomWord()
,从而生成了两个随机单词。根据“random”的定义,一个词不能重复两次。将主方法更改为

String w = randomWord();

然后打印
w
及其scramled版本。

您将得到两个不同的随机单词实例。修改代码,使其看起来如下:

 openFile();

    String word = randomWord();
    String scramble = readScramble(word);
    System.out.println("Scramble Word is: " + scramble);

    String random = word;
    System.out.println("Random Word is: " + random);

请记住一定要关闭扫描仪@eric24g。如果我回答了你的问题,请为论坛上的其他开发者标记为已解决。对不起,我在哪里标记为已解决。我是新来的。多谢各位@安德烈·利奇诺担心。单击答案旁边的不透明复选标记。它会变绿的
 openFile();

    String word = randomWord();
    String scramble = readScramble(word);
    System.out.println("Scramble Word is: " + scramble);

    String random = word;
    System.out.println("Random Word is: " + random);