9
votes

Comment utiliser plusieurs conditions sur les mêmes données dans une boucle si sinon? - Java / Android

J'ai 3 edittexts avec type d'entrée comme numéro Number et 1 " qui disent fait

i doivent vérifier deux conditions pour les valeurs saisies dans les edittexts

lorsque je clique sur le bouton fait je devrais être en mesure de vous faire la suivante < / p>

---- première consiste à vérifier si les textes d'édition sont vides ou non xxx

---- secondes est de vérifier si les valeurs entrées sont dans une certaine plage xxx

A, B, C et A1, B1, C1 représente les mêmes valeurs, je viens d'analyser les valeurs d'A, B, C à int dans A1, B1, C1

---- Puis dans la partie d'autre, je devrais pouvoir utiliser ces valeurs si elles passent les conditions ci-dessus. < Pré> xxx

Mon problème est de savoir comment le faire fonctionner comme je fais face à une force Force Fermer Erreur lors de la cliquant sur le bouton TAD lorsque tous les 3 EditText sont vides. J'ai essayé de mettre ceux-ci dans si, sinon si et d'autre en boucle et aussi essayé si, si et bien boucle .

Comment dois-je coder que si Cela ne satisfera pas à la fois les conditions et ensuite aller à la partie autre?

Aide !! :)


3 commentaires

Il y a tellement de choses qui pourraient aller mal, que disent les fichiers journaux? Avez-vous une trace de pile?


Je ne suis pas sûr de comprendre. Si vous avez des données non valides, pourquoi poursuivriez-vous le traitement?


Désolé, je voulais dire si cela ne satisfait pas à la fois la condition qu'il devrait aller à la partie d'autre.


5 Réponses :


7
votes
if ((a.getText().toString().equals("")) || (b.getText().toString().equals("")) || (c.getText().toString().equals("")))
    Toast.makeText(getApplicationContext(), "Don't leave grade points empty",0).show();
else {
    //Convert your a/b/c.getText() to a1/b1/c1 now you know they are not empty
    if((a1<5 || a1>10)||(b1<5 || b1>10)||(c1<5 || c1>10))
        Toast.makeText(getApplicationContext(), "Range should be between 15 to 25", 0).show();
    else
    {
    //do something
    }
}

0 commentaires

1
votes

Je pense que vous avez juste besoin de faire le second si un autre si un autre si xxx

type d'un flux d'exécution étrange, mais je pense que cela corrigera votre problème


0 commentaires

2
votes

Je pense que c'est parce que vous essayez d'effectuer une sorte de chèque sur une variable null. Vous pouvez essayer:

if (a.getText() == null || b.getText() == null || c.getText() == null ){
     //Toast code
} else {
    //Convert string to int code
    if ((a1<5 || a1>10) || (b1<5 || b1>10) || (c1<5 || c1>10)){
    //Toast code
    } else {
        //Do something with numbers in the correct range code here
    }
}


2 commentaires

Dang ça, je prétendais que j'écris ça tandis que John postaillait!


LOL :)



1
votes

Pas un programmeur Android mais, si x.gettext () renvoie NULL, .Tostring () produit NullPointerException. Créer une méthode: xxx

alors: xxx


0 commentaires

1
votes

Faites comme ça, va certainement fonctionner, vérifié: xxx


0 commentaires