2017-03-08 2 views
1

Je me demandais comment vous alliez produire les deux zones de texte qui contenaient NumberFormatException.NumberFormatException pour 2 textfields java

try 
    { 
     num1Convert = Integer.parseInt(num1Str); 
     num2Convert = Integer.parseInt(num2Str); 

     sumValue = num1Convert + num2Convert; 
     sumLabel.setText(sumText + Integer.toString(sumValue)); 
    } 
    catch(NumberFormatException nfe) 
    { 
     errorLabel.setText((HERE IS WHERE I NEED TO PUT CODE TO SAY WHICH TEXTFIELD IT IS" must be an integer"); 
     num1.requestFocus(); 


    } 

mon programme compare deux chiffres, puis renvoie la valeur des chiffres additionnés, mais je dois sortie qui des deux textareas jettent des arrière l'exception, mais je ne sais pas comment faire . J'ai écrit dans le code où il est nécessaire de le sortir.

+1

comment environ deux blocs catch try séparés? Ou est-ce une solution trop évidente? –

+0

Copie possible de [Qu'est-ce qu'une NumberFormatException et comment puis-je la réparer?] (Http://stackoverflow.com/questions/39849984/what-is-numberformatexception-and-how-can-i-fix-it) – xenteros

Répondre

1

Quelque chose comme cela devrait faire:

String currentString = ""; 
try 
    { 
     currentString = num1Str; 
     num1Convert = Integer.parseInt(num1Str); 
     currentString = num2Str; 
     num2Convert = Integer.parseInt(num2Str); 

     sumValue = num1Convert + num2Convert; 
     sumLabel.setText(sumText + Integer.toString(sumValue)); 
    } 
    catch(NumberFormatException nfe) 
    { 
     // errorLabel.setText((HERE IS WHERE I NEED TO PUT CODE TO SAY WHICH TEXTFIELD IT IS" must be an integer"); 
     errorLabel.setText(currentString + " must be an integer"); 
     num1.requestFocus(); 

    } 
+0

Ceci sort simplement ce que l'on a placé dans le champ de texte plutôt que de dire 'num1' ou 'num2' doit être un entier @ininprsr – Luke

+0

"num1" à currentString .. puis "num2" valeur de chaîne .. –

+0

Merci @JayanandRaghuwanshi – Luke

2

Que diriez-vous ceci:

try{ 
     num1Convert = Integer.parseInt(num1Str); 
    } 
    catch(NumberFormatException nfe) { 
     System.out.println("Exception in num1"); 
    } 
    try{ 
     num2Convert = Integer.parseInt(num2Str); 
    } catch(NumberFormatException nfe) { 
     System.out.println("Exception in num2"); 
    } 

    //EDIT 

    sumValue = num1Convert + num2Convert; 
    sumLabel.setText(sumText + Integer.toString(sumValue)); 
+0

Mais alors, comment puis-je ajouter les deux valeurs comme indiqué dans le try catch que j'ai posté? – Luke

+0

Modifié la réponse –

+0

Cela fonctionne bien mais il définit la valeur de calcul juste le nombre qui est un entier donc par exemple si num1 est 5 et num2 est 5t il mettra la valeur sum à 5, plutôt que d'attendre que l'exception de nombre ait été corrigé avant de calculer une valeur – Luke