[JAVA] Calculette avec switch

Calculette avec switch [JAVA] - Java - Programmation

Marsh Posté le 01-12-2015 à 12:56:05    

Bonjour,
Dans le cadre d'une formation je doit crée une calculette a l'aide de switch. Mais je ne comprend pas vraiment comment ca fonctionne (aucun probleme pour le if else)  
Donc si qqun arrive a me l'expliqué d'une manière "moins académique".
 
Merci de votre aide =)

Reply

Marsh Posté le 01-12-2015 à 12:56:05   

Reply

Marsh Posté le 02-12-2015 à 20:08:22    

Bonjour,
Le switch est un if - else if - else maquillé.
 

Code :
  1. int a = 5;
  2. switch(a){
  3.    case 4:
  4.       methode();
  5.       break;
  6.    case 5:
  7.       UneAutreMethode();
  8.       break;
  9.    case 6:
  10.       hfr();
  11.       break;
  12.    default:
  13.       System.out.println("rien" );
  14.       break;
  15. }


ça correspond à :

Code :
  1. if(a==4){
  2. methode();
  3. }else if(a==5){
  4. UneAutreMethode();
  5. }else if(a==6){
  6. hfr();
  7. }else{
  8. System.out.println("rien" );
  9. }

Reply

Marsh Posté le 03-12-2015 à 12:15:13    

D'accord avec la réponse ci-dessus, cependant l'exemple fourni n'est pas très parlant selon moi. Je suppose le switch sera là pour gérer l'opération demandée.
Donc un truc du genre

 
Code :
  1. enum Operator { Add, Substract, Divide, Multiply }
  2. Operator op = Operator.Add;
  3. int a, b, result; // a, b = entrée utilisateur, et result = résultat
  4. switch(op){
  5.     case Add:
  6.       result = a + b;
  7.       break;
  8.    case Substract:
  9.       result = a - b;
  10.       break;
  11.    case Divide:
  12.       result = a / b;
  13.       break;
  14. // etc
  15.    default:
  16.       System.out.println("aïe, problème ??" );
  17.       break;
  18. }
 

En espérant que l'enum (ajouté pour la lisibilité) ne te gêne pas, je pense que c'est ça qu'on attend de toi à propos du switch...


Message édité par TotalRecall le 03-12-2015 à 12:15:52

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Marsh Posté le 03-12-2015 à 20:39:20    

Effectivement, je l'avais fait très simpliste pour plus de lisibilité

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed