项目编译但不在编译器中显示信息

Project compiles but not displaying info in compiler

嘿,我正在制作一个程序,它从文本文档中获取单词和定义,将它们打乱,然后对它们进行测验。单词的结构为 (word: definition)。
我完成了项目的代码,但出于某种原因,在我编译后控制台保持空白。
该代码由三个类组成,我将显示如下:

第 1 类:-

public class VocabularyWord {
    private String word, definition;

public VocabularyWord(String w, String d){
    word=w;
    definition=d;
}
public String getDefinition(){
    return definition;
}
public String getWord(){
    return word;
}
public String toString(){
    return word+" "+definition;
}
}

第 2 类:-

import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class VocabularyTest {
private ArrayList<VocabularyWord>words;
private int c;

public VocabularyTest() throws FileNotFoundException{
    words=new ArrayList<VocabularyWord>();
    ArrayList<String> str=new ArrayList<String>();
    File inputFile = new File("Vocabulary.txt");
    Scanner input = new Scanner(inputFile);
    while(input.hasNextLine()){
        str.add(input.nextLine());
        processStrings(str);
        for(int i = 0; i<100; i++)
            swapWords();
}
}
private void processStrings(ArrayList<String>lines){
    int pos=0;
    for(int i=lines.size()-1; i>=0; i--){
        pos=lines.get(i).indexOf(":");
        String s=lines.get(i).substring(0, pos);
        String ss=lines.get(i).substring(pos+1, lines.get(i).length());
        VocabularyWord p=new VocabularyWord(s,ss);
        words.add(p);
        c++;
    }
}
private void swapWords(){
    int x=(int) (Math.random()*words.size());
    int xx=(int)(Math.random()*words.size());
    while(x==xx)
        xx=(int)(Math.random()*words.size());
    Collections.swap(words, xx, x);
    }
public void quiz(){
    System.out.println("hi");
    int n=0;
    Scanner kb=new Scanner(System.in);
    for(int i=words.size()-1; i>=0; i--){
        System.out.println(words.get(i).getDefinition());
            if(kb.nextLine().equals(words.get(i).getWord())){
                System.out.println("Nice Job!");
                n++;
            }
            else
                System.out.println(words.get(i).getWord());
    }
    System.out.println("You got "+n+" correct!");
}

}

第 3 类:-

 import java.io.FileNotFoundException;
 public class VocabTestTester {
    public static void main(String[] args)throws FileNotFoundException{
        VocabularyTest test= new VocabularyTest();
        test.quiz();

        }
}

我猜你的 VocabularyTest 构造函数失败了,可能是你没有找到足够的文件,尽管我希望看到一个例外。你最好检查一下。

在VocabularyTest构造函数的第一行打印"hi",打印出文件路径,并检查它是否匹配你期望的路径,然后打印输出读入控制台的单词。

例如,

public VocabularyTest() throws FileNotFoundException{
    System.out.println("In VocabularTest Constructor");
    words=new ArrayList<VocabularyWord>();
    ArrayList<String> str=new ArrayList<String>();
    File inputFile = new File("Vocabulary.txt");

    System.out.println(inputFile.getAbsolutePath());

    Scanner input = new Scanner(inputFile);
    while(input.hasNextLine()){
        System.out.println(input.nextLin());
    }