java - 它返回一个空变量吗?

标签 java

我目前正在高中从事 Hangman 项目。 “newWord”是包含在字典文件中随机选择的单词的变量。在 makeList 方法中,您可以看到它随机提取单词。还有一个 System.out.println("this: "+ newWord);这样我就可以测试该单词是否已成功从外部文件中提取。然后它返回 newWord,但当返回到 main 方法时,它是空的,因此在程序的其余部分中也是空的。有人可以帮助解决我的问题吗?

public class HangmanProject {
    public static void main(String args[]) {
        String newWord = " ";
        int letterNumber = 0;

        makeList(newWord); 

        countLetters(newWord, letterNumber);
        System.out.println("this: " + newWord);
        displayBoard(letterNumber, newWord); 
    } 

    public static String makeList(String newWord) { 
        do{
            try(Scanner s = new Scanner(new File("dictionary.txt"))) {
            ArrayList<String> list = new ArrayList<String>();
                while (s.hasNext()) {
                    list.add(s.next());
                }

            Random random = new Random();
            int index = random.nextInt(list.size());
            newWord = list.get(index);
            } catch (IOException e) {
                System.out.println("Error Found");
            }
        } while (!(newWord.length() >= 5));
        System.out.println("this: " + newWord);
        return newWord;
    }

最佳答案

您不会对返回的值执行任何操作。只要将它分配到某个地方就可以了。此外,由于 makeList 不使用它的值,只需将其声明为局部变量即可:

String newWord = makeList(); 

关于java - 它返回一个空变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49015641/

相关文章:

java - 使用谓词过滤并发映射或列表(使用并行流)更快吗?

java - 在 TomEE 中设置 ActiveMQ

java - Java中的MyClass.class代表什么?

java - 为什么 en_GB 语言环境认为 1 月 1 日是一年中的第 52 周?

java - 交换时仅将第一个单词的第一个字母大写

java - 如何在java中获取microsoft word文档的页数?

java - 获取 ORA-01722 : invalid number error while inserting form data from webpage

java - 存档中的部署描述 rune 件 WEB-INF/web.xml 中的部署描述符无效

java - 硬币找零机的解决方案太多

java - 有人可以解释正则表达式这个正则表达式吗