Я не могу изменить оболочку программы, конечной целью является выбор случайного слова из списка слов в txt-файле. я просканировал это много раз, прошел код один за другим, пробовал много разных вещей, но каждый раз, когда я его запускаю, он компилируется без проблем, но я никогда не получаю никакого вывода. я даже пытался вставить некоторый вывод в частные функции, но безрезультатно. может ли кто-нибудь увидеть, что не так с моим кодом, или может объяснить мне, что происходит?Извлечение случайного слова из txt-файла и получение результата без ошибок компилятора java
import java.util.*;
class PartOfSpeech
{
private String[] words;
private Random random;
private String filename;
public PartOfSpeech(String filename)
{
this.filename = filename;
this.read();
}
//this picks a random number and uses that number for the index of the array for which to return
public String getRandomWord()
{
int index;
index = random.nextInt(this.getCount());
return words[index];
}
//this gets a count of how many lines of txt are in the file
private int getCount()
{
Scanner fr = new Scanner(this.filename);
int count = 0;
while(fr.hasNextLine())
{
count++;
}
return count;
}
//this creates a scanner and inserts each word from the txt file into an array
private void read()
{
Scanner fr = new Scanner(this.filename);
for(int i=0; i<this.getCount(); i++)
{
words[i] = fr.nextLine();
}
}
public static void main(String[] args)
{
PartOfSpeech n = new PartOfSpeech("nouns.txt");
System.out.print(n.getRandomWord());
}
}
Вы когда-нибудь называли функцию 'read'? –
this.read() в конструкторе – amudhan3093
Ах да, я вижу, и 'getCount' возвращает что? –