我正在为课堂开发一个Hangman代码,并且我认为它具有三种不同级别的难度,其中包括20种可能的单词/短语。我将三个文本文档包含在与程序相同的文件夹中,但是由于某种原因,我一直在获取
java.io.FileNotFoundException:
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.util.Scanner.<init>(Scanner.java:611)
at FinalProject.showfile(FinalProject.java:137)
at FinalProject.game(FinalProject.java:48)
at FinalProject.main(FinalProject.java:35)
我不知道该怎么做才能更正此问题。我是编码新手,对此没有很好的了解。 我已经包含了代码的一部分,该部分允许用户选择他们想要的级别,该代码可以从每个文件中找到一个随机单词。如果需要更多,我可以全力以赴。
我已经看过许多关于同一问题的其他主题,但是我的问题似乎与所有主题不同。在我将if语句与所有其他级别一起添加之前,我简单地拥有:
fileName = "lv1text.txt";
,效果很好。但是,既然我包括了if语句,就会出现此错误。
我尝试使用确切的目录,但是仍然会出现相同的错误。
private static int levelSelect (int levelSelection) throws IOException
{
levelSelection = 0;
System.out.println("What level of difficulty would you like to play?");
System.out.println("Enter 1 for Easy\nEnter 2 for Medium\nEnter 3 for Hard");
levelSelection = getInt("",1,3);
return levelSelection;
}
private static String showfile(String fileName) throws IOException
{
levelSelect(levelSelection);
if (levelSelection == 1)
{
fileName = "lv1list.txt";
}
else if (levelSelection == 2)
{
fileName = "lv2list.txt";
}
else if (levelSelection == 3)
{
fileName = "lv3list.txt";
}
Scanner inFile = new Scanner (new File (fileName));
int i = 0;
String[] impWord = new String[20];
while (inFile.hasNextLine())
{
impWord[i] = inFile.nextLine();
i++;
}
inFile.close();
int rNum = ((int)Math.floor((impWord.length-1)*Math.random()-1));
fWord = impWord[rNum];
return fWord;
}