需要帮助将一个类实现为另一个代码块并运行一个类java



好的,所以我正在处理这个需要加载文件的项目。我的老师为我们编写了这段代码,用来加载文件。我现在正试图弄清楚如何获得这个类并将其用于另一个代码块中。我浏览过互联网,但还是很困惑。一个直接的例子就太好了
我的另一个问题是如何管理这个班。当我的老师运行类和其他类似的文件时,它们运行起来没有问题,但当我尝试运行它们时,尽管使用了相同的代码,它不允许我运行它。

import java.io.FileNotFoundException;
import java.io.File;
import java.util.Scanner;
import java.util.ArrayList;
public class AltFileLoader {
    private String path;
    public AltFileLoader(String file_path) {
        path = file_path;
    }
    public ArrayList<String> loadFile() throws FileNotFoundException {
        Scanner inFile = new Scanner(new File(path));
        ArrayList<String> allTheLines = new ArrayList<String>();
        while (inFile.hasNext()) {
            allTheLines.add(inFile.next());
        }
        inFile.close();
        return allTheLines;
    }
}

作为我的刽子手代码的开始,我有

import java.io.File;
import java.util.Scanner;
import java.util.ArrayList;
import java.io.FileNotFoundException;
import java.util.Random;
class Hangman extends AltFileLoader {
    public String allTheLines;
         String getallTheLines() {
          return(allTheLines);
}
public static void main(String[] args){
  System.out.println("If this prints then it works!");
  }
}

所以基本上,我一直在努力实现这个类文件。然后我将从那里开始工作。无法插入文本文档真的让我在这件事上停下了脚步。

当我尝试运行该类时,我会得到错误

错误:在类AltFileLoader中找不到主方法,请将主方法定义为:public static void main(String[]args)

类AltFileLoader中的构造函数AlteFileLoader不能应用于给定的类型;类Hangman扩展AltFileLoader{^

上面是我在试图将类实现到hangman代码中时遇到的错误。

要使用这个类,您需要创建它的一个实例,传入一个String,该String表示感兴趣文件的文件路径。然后,当您需要字符串的ArrayList时,从AltFileLoader实例中调用loadFile()方法。请注意,您必须以某种方式处理FileNotFoundException,方法是捕获它(如下所示),或者让该代码所在的方法将该方法声明为抛出该异常(就像您的讲师在其方法代码中所做的那样):

AltFileLoader altFileLoader = new AltFileLoader(filePath);
ArrayList<String> stringList = null;
try {
   stringList = altFileLoader.loadFile();
} catch (FileNotFoundException e) {
   e.printStackTrace();
}

编辑
关于这个问题:

还想知道为什么它不会为我运行。

不幸的是,我们不知道。你必须向我们展示你是如何使用它的,以及你可能遇到的任何错误。


编辑2

我看到了另一个大问题。您的Hangman类正在扩展AltFileLoader,它不应该这样做。相反,您应该让代码使用AltFileLoader的实例,而不是扩展。这是对继承的不恰当使用,因为Hangman本质上没有通过AltFileLoader的is-a测试——它不是一种专门类型的AltFileLoader。

相关内容

  • 没有找到相关文章

最新更新