2014-10-10 103 views
0
class liste 
{ 
    int numara; 
    String ad; 
    String soyad; 
    liste sonraki; 
} 

public static void main(String[] args) throws IOException 
{ 
    BufferedReader br = new BufferedReader(new FileReader("C:\\bagli.txt")); 
    BufferedReader reader = null; 
    String s; 
    Scanner klavye = new Scanner(System.in); 
    listeler mylist = new listeler(); 
    while(br.ready()) 
    { 
     s=br.readLine(); 

     String[] firstLine = s.split("#"); 
     liste kayıt = new liste(); 
     kayıt.numara = Integer.parseInt(firstLine[0].trim()); 
     kayıt.ad = firstLine[1].trim(); 
     kayıt.soyad = firstLine[2].trim(); 
     mylist.ekle(kayıt); 
    } 

我得到以下错误:异常线程 “main” java.lang.NumberFormatException:对于输入字符串: “33”

Exception in thread "main" java.lang.NumberFormatException: For input string: "33" 

以下行:

kayıt.numara = Integer.parseInt(firstLine[0].trim()); 

我不明白为什么我会得到这个错误。

+3

请显示实际的异常堆栈跟踪,而不是解释它。请显示数据文件或其关键部分。 – 2014-10-10 00:16:24

+2

如果错误消息中的两个连续双引号是正确的,则firstLine [0] .trim()具有尾部双引号字符,在解析整数之前必须将其消除。 – rgettman 2014-10-10 00:17:44

回答

0

NumberFormatException当字符串格式错误时,parseInt函数出错。解决此问题的最简单方法是输出您尝试解析的确切字符串。这通常使用system.out.printlninsertStringVariableHere)完成。

根据我的经验,这个错误几乎总是来自一个额外的报价空间或者围绕这个数字的一​​些其他意想不到的字符。

+0

什么应该是正确的代码? bagli.txt in 33#ahmet#korkusuz 44#hanife#demir 66#murat#tok – 2014-10-10 11:34:21

相关问题