IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Peut-on simplifier ce code conditionnel


Sujet :

Android

  1. #1
    Membre confirmé
    Avatar de alheuredudejeuner
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 376
    Points : 632
    Points
    632
    Billets dans le blog
    4
    Par défaut Peut-on simplifier ce code conditionnel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
        private void calcul(){
            if (eDia.getText().length() == 0) {
                Toast.makeText(MainActivity.this,"Vous n'avez pas rempli le diamètre", Toast.LENGTH_SHORT).show();
            }else{
                Resultat=Double.valueOf(eDia.getText().toString()).doubleValue();
                ePoids.setText(String.valueOf(Resultat));
     
            	if (eLong.getText().length() == 0) {
            		Toast.makeText(MainActivity.this,"Vous n'avez pas rempli la longueur", Toast.LENGTH_SHORT).show();
            	}else{
            		Resultat=Double.valueOf(eDia.getText().toString()).doubleValue();
            		ePoids.setText(String.valueOf(Resultat));
     
            		} 
     
            	}
     
        }
    CA me parait un peu confus, et j'ai encore des valeur a tester , avant de faire la calcul proprement dit

    merci d'avance

    André

  2. #2
    Membre confirmé
    Avatar de Laine
    Femme Profil pro
    Doctorat informatique
    Inscrit en
    Mars 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Doctorat informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 238
    Points : 646
    Points
    646
    Par défaut
    Bonsoir
    Si je ne me trompe pas, il me semble que ce jeu d'instructions se répète
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Resultat=Double.valueOf(eDia.getText().toString()).doubleValue();
    ePoids.setText(String.valueOf(Resultat));
    Sur cette base vous pouvez tout aussi bien faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    private void calcul(){
            if (eDia.getText().length() == 0) {
                Toast.makeText(MainActivity.this,"Vous n'avez pas rempli le diamètre", Toast.LENGTH_SHORT).show();
            }else{
                Resultat=Double.valueOf(eDia.getText().toString()).doubleValue();
                ePoids.setText(String.valueOf(Resultat));
     
            	if (eLong.getText().length() == 0)
            		Toast.makeText(MainActivity.this,"Vous n'avez pas rempli la longueur", Toast.LENGTH_SHORT).show();
              }
     
        }

  3. #3
    Membre confirmé
    Avatar de alheuredudejeuner
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 376
    Points : 632
    Points
    632
    Billets dans le blog
    4
    Par défaut
    merci
    Je trouve plus clair en lecture, mais je ne met pas résolu, car je suis trop débutant, et qu'il y a surement plein d'autre méthodes valables.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
        private void calcul(){
        	Resultat = 1000 ;
        	cal = 1000 ;
            if (eDia.getText().length() == 0) {
     
                cal = 0;
            }
            if (eLong.getText().length() == 0){
            	cal =1;
            }
            if (cal > 1){
            	if (ePoids.getText().length() > 0 ^ eNBTiges.getText().length() > 0 ){
            		cal = 2 ;
            	}else {
            		cal =3;
            	}
            }
     
     
            switch (cal) { 
            case 0 :
            	Toast.makeText(MainActivity.this,"Vous n'avez pas rempli le diamètre", Toast.LENGTH_SHORT).show();
            	break;
     
        	case 1 :
        		Toast.makeText(MainActivity.this,"Vous n'avez pas rempli la longueur", Toast.LENGTH_SHORT).show();
        		break;
        	case 2 :
        		//calcul 
        		Toast.makeText(MainActivity.this,"poids ou nb tiges enregistré", Toast.LENGTH_SHORT).show();
            	//Resultat=Double.valueOf(eDia.getText().toString()).doubleValue();
            	//ePoids.setText(String.valueOf(Resultat));
        		break;
        	case 3 :
        		//calcul 
        		Toast.makeText(MainActivity.this,"poids et nb tiges enregistré", Toast.LENGTH_SHORT).show();
        		break;
     
        	default: 
        		Toast.makeText(MainActivity.this,"Cas pas traité", Toast.LENGTH_SHORT).show();
            }
        }
    cordialement

  4. #4
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    Surtout quelle est l'intérêt de passer ta variable en de string -> double -> string ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Resultat=Double.valueOf(eDia.getText().toString()).doubleValue();
                ePoids.setText(String.valueOf(Resultat));
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

Discussions similaires

  1. [PHP-JS] Peut on mettre ce code dans une variable?
    Par pierrot10 dans le forum Langage
    Réponses: 6
    Dernier message: 06/06/2007, 17h04
  2. Code conditionnel : if else ou for_each ?
    Par quicky2000 dans le forum C++
    Réponses: 8
    Dernier message: 18/02/2007, 16h30
  3. peut on recuperer le code source d'un package?
    Par qeja dans le forum Oracle
    Réponses: 9
    Dernier message: 14/03/2006, 17h05
  4. [VBA-E] Peut on accélérer mon code?
    Par mustang-ffw02 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/12/2005, 01h19
  5. [EclipseUml] Peut-on générer le code ?
    Par Dof dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 05/06/2003, 15h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo