我是 Java 新手,我遇到了一个让我大吃一惊的错误……错误是:
Exception in thread "main" java.lang.NullPointerException
at BancA.carica(BancA.java:30)
at BancA.main(BancA.java:46)
我需要从 txt 文件中加载一些值...这由 ID(Cliente1 等)、第一个数字列表(付款)和第二个(转账)列表组成...我决定区分这两个通过“-”将它们划分的类别...但是 readLine() 似乎读错了行,或者忽略了我的“while”语句...无论如何,这是我的代码,您的帮助我们将不胜感激:-)
import java.io.*;
import java.util.*;
import java.lang.*;
public class BancA{
private static final String CLIENTI = ("Clienti.txt");
private static ArrayList <Conto> conto = new ArrayList <Conto>();
public static void carica(){
BufferedReader bc;
Conto co = new Conto();
String tmp, tmp1, tmp2;
try{
bc = new BufferedReader(new FileReader(CLIENTI));
tmp = bc.readLine();
while(tmp!=null){
co.setId(tmp);
tmp1 = bc.readLine();
while(!(tmp1.equals("-"))){
co.setBonifico(Integer.parseInt(tmp1));
tmp1 = bc.readLine();
}
tmp2 = bc.readLine();
while(!(tmp2.equals("-"))){
co.setVersamento(Integer.parseInt(tmp2));
tmp2 = bc.readLine();
}
conto.add(co);
co = new Conto();
tmp = bc.readLine();
}
System.out.println(conto);
}
catch(IOException e){
e.printStackTrace();
}
}
public static void main(String [] args){
carica();
}
}
这是另一类:
import java.util.*;
public class Conto{
public String id;
public LinkedList <Integer> bonifico = new LinkedList <Integer>();
public LinkedList <Integer> versamento = new LinkedList <Integer>();
public Conto(){
}
public void setId(String i){
id = i;
}
public void setBonifico(int b){
bonifico.add(b);
}
public void setVersamento(int v){
versamento.add(v);
}
public String getId(){
return id;
}
public LinkedList <Integer> getBonifico(){
return bonifico;
}
public LinkedList <Integer> getVersamento(){
return versamento;
}
public String toString(){
String str = ("\nId: " +id+ "\nBonifico: " +bonifico+ "\nVersamento:+versamento);
return str;
}
}
虽然这是我的 Clienti.txt 文件:
Cliente1
1
2
3
-
41
52
33
90
-
Cliente2
4
-
89
3
1