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 :

Factorisation du code d'une calculatrice


Sujet :

Android

  1. #1
    Membre à l'essai
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Juillet 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Juillet 2014
    Messages : 30
    Points : 23
    Points
    23
    Par défaut Factorisation du code d'une calculatrice
    Bonjour,

    J'essaye d'améliorer ce code : avez-vous des propositions, s'il vous plait ?

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    public class MainActivity extends Activity {
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		Button b1 =(Button)findViewById(R.id.button1);
    		Button b2 =(Button)findViewById(R.id.button2);
    		Button b3 =(Button)findViewById(R.id.button3);
    		Button b4 =(Button)findViewById(R.id.button4);
    		final EditText edt1 = (EditText)findViewById(R.id.editText1);
    		final EditText edt2 = (EditText)findViewById(R.id.editText2);
    		final EditText edt5= (EditText)findViewById(R.id.editText5);
     
     
    		b1.setOnClickListener(new View.OnClickListener() {
     
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
     
    				int numero1;
    				int numero2;
    				int resultat;
    				 numero1 = (int) Double.valueOf(edt1.getText().toString()).doubleValue();
    				 numero2 = (int)Double.valueOf(edt2.getText().toString()).doubleValue();
     
    				 resultat= numero1 + numero2;
    				 edt5.setText(String.valueOf(resultat));
     
    			}
    		}); 
     
     
     
    b2.setOnClickListener(new View.OnClickListener() {
     
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
     
    				int numero1;
    				int numero2;
    				int resultat;
    				 numero1 = (int) Double.valueOf(edt1.getText().toString()).doubleValue();
    				 numero2 = (int)Double.valueOf(edt2.getText().toString()).doubleValue();
    				 resultat= numero1 - numero2;
    				 edt5.setText(String.valueOf(resultat));
     
    			}
    		});
     
    b3.setOnClickListener(new View.OnClickListener() {
     
    	@Override
    	public void onClick(View v) {
    		// TODO Auto-generated method stub
     
    		int numero1;
    		int numero2;
    		int resultat;
    		 numero1 = (int) Double.valueOf(edt1.getText().toString()).doubleValue();
    		 numero2 = (int)Double.valueOf(edt2.getText().toString()).doubleValue();
    		 resultat= numero1 * numero2;
    		 edt5.setText(String.valueOf(resultat));
     
    	}
    }); 
     
    b4.setOnClickListener(new View.OnClickListener() {
     
    	@Override
    	public void onClick(View v) {
    		// TODO Auto-generated method stub
     
    		int numero1;
    		int numero2;
    		int resultat;
    		 numero1 = (int) Double.valueOf(edt1.getText().toString()).doubleValue();
    		 numero2 = (int)Double.valueOf(edt2.getText().toString()).doubleValue();
    		 resultat= numero1 / numero2;
    		 edt5.setText(String.valueOf(resultat));
     
    	}
    });
     
    	}
    Voici le rendu de la calculatrice :
    Nom : Sans titre.jpg
Affichages : 284
Taille : 35,8 Ko

  2. #2
    Membre chevronné

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 576
    Points : 1 989
    Points
    1 989
    Par défaut
    Bonjour, permettre la succession d'opération et les opérations complexes tel que le carré la racine PI avec la class math, vous inspirez d'une calculatrice pour l'interface et les opérations cordialement.

  3. #3
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Déjà commencer par faire une seule et vraie classe Listener, qui utilisera des "if" pour différencier les 4 calculs arithmétiques. On peut aussi arriver à le faire sans aucun "if", mais je ne sais pas si cela présente un intérêt ici.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  4. #4
    Membre à l'essai
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Juillet 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Juillet 2014
    Messages : 30
    Points : 23
    Points
    23
    Par défaut
    bonjour,
    merci pour votre interaction

    je ne sais pas comment implémenter la classe Listenner, est ce que je pourrai avoir une proposition de code SVP

  5. #5
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Code java : 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
     
    public class Main extends Activity { 
     
    @ Override 
    public void onCreate (Bundle savedInstanceState) { 
    super.onCreate (savedInstanceState); 
    setContentView (R.layout.main); 
     
    EditExt input1= (EditText) findViewById (R.id.EditText01);
    EditExt input2= (EditText) findViewById (R.id.EditText02);
    EditExt res = (EditText) findViewById (R.id.EditText03);
     
    Button button1 = (Button) findViewById (R.id.Button01); 
    Button button2 = (Button) findViewById (R.id.Button02); 
    Button button3 = (Button) findViewById (R.id.Button03); 
    Button button4 = (Button) findViewById (R.id.Button04);
     
     
    MyListener listener = new MyListener (input1, input2, res); 
    button1.setTag (1); 
    button1.setOnClickListener (listener); 
    button2.setTag (2); 
    button2.setOnClickListener (listener); 
    button3.setTag (3); 
    button3.setOnClickListener (listener); 
    button4.setTag (4); 
    button4.setOnClickListener (listener); 
    }
    }

    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
    public class MyListener implements View.OnClickListener { 
     
    private EditText e;
    private EditText i1, i2;
     
    public MyListener(EditText _i1, EditText  _i2, EditText _e) {
      this.e = _e;
    this.i1 = _i1;
    this.i2 = _i2;
    }
     
    @ Override 
    public void onClick (View v) { 
    int tag = (Integer) v.getTag (); 
    switch (tag) { 
    case 1: this.e.setText(......); //ici soustraction
     
    break; 
    case 2: //ici addition
     
    break; 
    case 3: 
     
    break; 
    case 4: 
     
    break; 
    } 
    } 
     
    }
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  6. #6
    Membre à l'essai
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Juillet 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Juillet 2014
    Messages : 30
    Points : 23
    Points
    23
    Par défaut
    merci pour votre réponse
    il est très utile

Discussions similaires

  1. Code source d'une calculatrice
    Par DarkSmooth dans le forum Débuter
    Réponses: 6
    Dernier message: 25/01/2011, 18h47
  2. Réponses: 1
    Dernier message: 19/03/2005, 22h47
  3. help sur le code d'une procedures stockee
    Par omlip dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 25/08/2004, 18h45
  4. Réponses: 4
    Dernier message: 06/11/2003, 10h37
  5. [CODE] Purger une table ?
    Par Roi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/09/2003, 16h07

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