我不知道我的主课有什么问题。我不知道如何改变它来解决它。计算机说:无法从静态上下文引用从文件加载。如果我试着改变它,我的主要课程就会丢失。
public class Bsp3_1225814_3 {
public void static main(String [] args){
List<Linienzug> lst = new ArrayList<>();
load_from_file("C:\\Users\\schurzm\\Google Drive\\TU\\2.Semester\\VU_Grundlagen Programmieren\\Projekte_Schurz\\1225814_3\\3_in");
dump_to_file("C:\\Users\\schurzm\\Google Drive\\TU\\2.Semester\\VU_Grundlagen Programmieren\\Projekte_Schurz\\1225814_3\\3_out");
}
public void load_from_file(String file) {
Scanner s = null;
try {
s = new Scanner(
new BufferedReader(new FileReader(file))).useDelimiter("\\n");
while (s.hasNext()) {
String[] in = s.next().split(":");
Linienzug l = new Linienzug();
for (int i=0; i<(in.length-1); i++){
l.add(new Punkt(Integer.parseInt(in[i]),
Integer.parseInt(in[i+1])));
}
this.lst.add(l);
}
} catch (FileNotFoundException ex) {
System.out.print("File not found");
} finally {
if (s != null) {
s.close();
}
}
}
答案 0 :(得分:4)
当您使用静态方法时,无法调用没有static
关键字的方法。这是因为对this
指针的隐式引用在静态上下文中不存在。
答案 1 :(得分:2)
您不能以这种方式从静态上下文调用实例方法。 您必须创建一个实例来调用它们。
...修复
Bsp3_1225814_3 bsp3 = new Bsp3_1225814_3();
bsp3.load_from_file("C:\\Users\\schurzm\\Google Drive\\TU\\2.Semester\\VU_Grundlagen Programmieren\\Projekte_Schurz\\1225814_3\\3_in");
bsp3.dump_to_file("C:\\Users\\schurzm\\Google Drive\\TU\\2.Semester\\VU_Grundlagen Programmieren\\Projekte_Schurz\\1225814_3\\3_out");
答案 2 :(得分:0)
public void static main(String [] args){
Bsp3_1225814_3 myObj = new Bsp3_1225814_3();
myObj.load_from_file("C:\\Users\\schurzm\\Google Drive\\TU\\2.Semester\\VU_Grundlagen
...
}
宣布lst为你班上的一员。