2016-03-29 36 views
0

Bu yüzden bir GA yapıyorum ve ben çözüm ayarlamak için bu kodu var: Ben try catch bloğu kullanarak çalıştı çünkü durum atma önlemek nasılBurada numberformatexception nasıl önlenir?

public static void setSolution(String s) { 
    s=s.replaceAll("\\s",""); 
    try{ 
     int val = Integer.parseInt(s); 
    } catch(NumberFormatException e){ 
     System.out.println("Not a number"); 
    } 
    geneLength = s.length(); 
    for(int i=0; i<geneLength; i++){ 
     solution[i] = Integer.parseInt(s.substring(i,i)); 
    } 
} 

ama

çalışmıyor
+0

fazlasının 1 uzunluğunda bir dize döndürür ? – 3kings

+0

Ah'a bunu yakalamanız gerekir. Çok teşekkür ederim :) –

+0

Şimdi bir sayı olmadığında işe yaramaz ama çözümü bir sayı olarak ayarladığımda istisna atar. Herhangi bir fikir neden? –

cevap

1

Alt diziniz her zaman boş bir Dize döndürecektir. Sonra belki sadece dönmek bir sayı değilse

Değişim

Integer.parseInt(s.substring(i, i)); 

Integer.parseInt(s.substring(i, i + 1)); 

Bu oldukça Yani 0.