gpt4 book ai didi

java - 从文本中导入单词

转载 作者:行者123 更新时间:2023-12-04 04:45:44 25 4
gpt4 key购买 nike

我很抱歉,因为我总是问 n00b 问题,但我真的可以使用帮助。无论如何,我试图将字典中只有一定长度的单词导入到哈希集的变量 words 中。当我运行我的程序并尝试打印我的单词时,也就是字符串的哈希集。我在控制台中什么也没有,程序也没有停止运行。我该如何解决这个问题?附言我也知道 JOptionPane 代码的一部分被剪得够多了,但它没有错误,你明白了。谢谢!
亚历克斯

 public void inputWords()
{
try
{
frame = new JFrame("Hangman");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,300);
frame.setVisible(true);
input = new Scanner(new FileInputStream("dictionary.txt"));
wordLength = Integer.parseInt( JOptionPane.showInputDialog(null,
String importedWords = input.nextLine();
while(stillHasWords==true)
{
if(importedWords.length()==wordLength)
{
words.add(importedWords);
}

else
{

}

}

}

catch(FileNotFoundException f)
{
System.out.println("File does not exist.");
System.exit(0);
}

catch(NoSuchElementException q)
{
stillHasWords=false;
}


public static void main(String[] args)
{
EvilHangman j = new EvilHangman();
System.out.println(stillHasWords);
j.inputWords();
System.out.println(words + " ");

}

}

最佳答案

关于:

    while(stillHasWords==true)
{
if(importedWords.length()==wordLength)
{
words.add(importedWords);
}

else
{

}

}

我不确定 words.add(importedWords) 的作用,但对您遇到的问题最重要,

问题:您在哪里更改循环内的 stillHasWords?
答案:你没有,所以循环永远不会结束。

我建议你先修复这个 while 循环

顺便说一句,最好避免在 while 循环中使用 == true 而是简单地测试 boolean 值:
while (stillHasWords) {
// add a word
// change stillHasWords to false if we've run out of words
}

编辑
你说:

Still has words changes in the catch(NoSuchElementException q)



没有发布捕获块 while 循环内部 ,因此我认为仍然无法根据您到目前为止发布的代码在 while 循环内更改 stillHasWords 值。如果您有更相关的代码,那么您当然希望显示它,否则我们只能猜测未显示的代码可能有什么问题。最好发个 SSCCE

关于java - 从文本中导入单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18220135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com