我试图重写一些代码,以学习和理解它。我和以前一样,但是现在遇到了一些问题。
List<NewClass> list = new ArrayList<NewClass>();
public static void main(String[] args) {
try {
File file = new File("c://data//uzemanyag.txt");
Scanner szkenner = new Scanner(file, "UTF8");
while (szkenner.hasNext()){
String line = szkenner.nextLine();
String [] c = line.split(";");
NewClass newclass = new NewClass(Integer.valueOf(c[1]), Integer.valueOf(c[2]));
list.add(newclass);
}
}
catch (Exception e) {
e.printStackTrace();
}
}
该错误在“ list.add(newclass)”行中,但是我不知道为什么,因为我已经写了这部分。 这是我的另一个有效的代码:
List<Valtozas> lista = new ArrayList<Valtozas>();
try {
File fajl = new File("c://data//uzemanyag.txt");
Scanner szkenner = new Scanner(fajl, "UTF8");
while (szkenner.hasNext()) {
String sor = szkenner.nextLine();
String [] darabok = sor.split(";");
String szoveg = darabok[0];
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd");
LocalDate ld = LocalDate.parse(darabok[0], formatter);
//System.out.println("ld: "+ ld);
Valtozas valtozas = new Valtozas(ld,Integer.parseInt(darabok[1]),Integer.parseInt(darabok[2]));
lista.add(valtozas);
}
唯一的区别是,这里我使用Date变量,但是现在我只想保存2个数字,其中包含txt文件。
答案 0 :(得分:2)
您不能从静态内容访问非静态变量。您可以声明列表为静态
static List<NewClass> list = new ArrayList<NewClass>();
,然后您的程序应进行编译。