处理静态和非静态变量
Dealing with static and non-static variables
我试着重写了一些代码,来学习和理解它。我和之前一样,但是现在我遇到了一些问题。
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 文件。
您不能从静态内容访问非静态变量。您可以声明您的列表静态
static List<NewClass> list = new ArrayList<NewClass>();
然后你的程序应该可以编译了。
我试着重写了一些代码,来学习和理解它。我和之前一样,但是现在我遇到了一些问题。
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 文件。
您不能从静态内容访问非静态变量。您可以声明您的列表静态
static List<NewClass> list = new ArrayList<NewClass>();
然后你的程序应该可以编译了。