[JAVA] prob de compréhension pour L'instruction continue !!

prob de compréhension pour L'instruction continue !! [JAVA] - Java - Programmation

Marsh Posté le 29-08-2003 à 18:48:27    

public class Continue {
    public static void main(String argv[]){
        int a, b=0, s=0;
 
        while(b<5) {
            a=0;   b++;
            while(a<5) {
                a++;
                if (a==3) continue;
                else s++;
            }
        }
 System.out.println("Somme calculée avec \"continue;\" : " + s);
 
        b=s=0;
label1: while(b<5) {
            a=0;   b++;
            while(a<5) {
                a++;
  if (a==3) continue label1;
  else s++;
     }
 }
 System.out.println("Somme calculée avec \"continue label1:\" : " +s);
    }  
}
 
Résultats :  
 
1-Somme caculée avec "continue;" : 20
2-Somme caculée avec "continue label1;" : 10
 
 
je n'arrive pas à comprendre le calcule que le prog fait...
je ne vois pas pk il trouve 20....
 
qqun pourrait me mettre sur le voie ou me donner la suite de calcul ! j'aimerais comprendre donc ne donner pas les calcul du 2eme !!  
 
merci de m'aider ! :jap:
 

Reply

Marsh Posté le 29-08-2003 à 18:48:27   

Reply

Marsh Posté le 29-08-2003 à 19:21:52    

l'instruction continue sert lors d'un boucle (for ou while).
 
Elle sert à indiquer à laboucle de passer immédiatement au traitement suivant sans continuer à executer le reste de la boucle.
 
par exemple :  
on va calculer la somme des entiers de 1 à 10 sauf ceux qui son multîple de 3

Code :
  1. int total = 0;
  2. for (int i = 0; i <= 10; i++) {
  3.    if ((i % 3) == 0) { // test si i multiple de 3
  4.      continue; // on passe à la prochaine itération sans ajouter au total
  5.    }
  6.    total = total + i;
  7. }


dans cet exemple, dans le cas où i est égale 3 (ou 6 ou 9), on saute tout le code qu'il y a en dessous et passe directement à la prochaine prochaine itération de la boucle.
 
Quand tu utilises les labels le principe est toujours le même. La plupart du temps, les labels sont utilisés lorsque plusieurs boucles sont imbriquées. Dans ce cas, lorsqu'on fait un continue, on indique la boucle pour laquelle il doit passer à la prochaine itération, le label par défaut étant celui de la dernière boucle dans laquelle se trouve le continue.  
 
ex :  

Code :
  1. boucleA : while (onContinueDansA) {
  2.    boucleB  : while (onContinueDansB) {
  3.       if (toto) {
  4.          continue boucleA;
  5.       }
  6.       traitementB();
  7.    }
  8.    traitementA();
  9. }


dans le cas où le test "toto" est vrai, on passe directement à la prochaine itération de la boucle A : ni le traitementB ni le traitementA ne sont executé (ce coup-ci).
 
compris ?


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 29-08-2003 à 19:58:52    

j'en connais un qui veut un bon point là :lol:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 29-08-2003 à 20:12:38    

il le merite largement :o
 
perso j  ai lu la question elle m a donné mal a la tete :D

Reply

Marsh Posté le 29-08-2003 à 20:13:40    

veryfree a écrit :

il le merite largement :o


 
ha mais oui, j'ai jamais dit le contraire :)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 29-08-2003 à 20:16:04    

the real moins moins a écrit :


 
ha mais oui, j'ai jamais dit le contraire :)


 
faut crée le site qui va avec...
 
le site des meilleurs eleves java d'HFR :o

Reply

Marsh Posté le 29-08-2003 à 20:16:38    

veryfree a écrit :


 
faut crée le site qui va avec...
 
le site des meilleurs eleves java d'HFR :o

tout à fait :o
mais bon j'ai d'autres chats à fouetter là
peut etre plus tard


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 29-08-2003 à 20:18:15    

the real moins moins a écrit :

tout à fait :o
mais bon j'ai d'autres chats à fouetter là
peut etre plus tard
 


 
 
moi aussi :o
 
 
et puis tu serais capable de t ajouter des points en douce :o
 
 
don c ce serai pas une bonne idée :o

Reply

Marsh Posté le 29-08-2003 à 20:33:35    

the real moins moins a écrit :

j'en connais un qui veut un bon point là :lol:


[:cupra]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 29-08-2003 à 20:39:55    

une remarque sur le code :  

Code :
  1. int a, b=0, s=0;
  2.  
  3.         while(b<5) {
  4.             a=0;   b++;
  5.             while(a<5) {
  6.                 a++;
  7.                 if (a==3) continue;
  8.                 else s++;
  9.             }
  10.         }
  11. System.out.println("Somme calculée avec \"continue;\" : " + s);


bien identé et parenthésé ca donne :  

Code :
  1. int a, b = 0, s = 0;
  2.  while (b < 5) {
  3.   a = 0;
  4.   b++;
  5.   while (a < 5) {
  6.    a++;
  7.    if (a == 3) {
  8.     continue;
  9.    } else {
  10.     s++;
  11.    }
  12.   }
  13.  }
  14.  System.out.println("Somme calculée avec \"continue;\" : " + s);


el là, on voir que le continue ne sert absolument à rien : si on l'enlève, le code a le même comportement. :)


Message édité par benou le 29-08-2003 à 20:41:13

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 29-08-2003 à 20:39:55   

Reply

Marsh Posté le 29-08-2003 à 23:51:45    

bon filez lui son bon point qu'il nous lâche :o


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 30-08-2003 à 00:04:31    

c fait :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 30-08-2003 à 00:47:37    

[:rofl]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 30-08-2003 à 01:59:27    

Y a un site avec des bons/mauvais points ? :o


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 30-08-2003 à 02:00:19    

Taiche a écrit :

Y a un site avec des bons/mauvais points ? :o

pour l'instant c'est un document oo sur ma machine :D


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 30-08-2003 à 03:01:19    

ok merci pour tes réponses benou.
Je croyais que a et b influaient directement sur s mais en fait c'est le 'passage' du prog qui incrémente ?s? (enfin jme comprends :D)
 
Enfin l'essentiel c'est que j'ai compris
 
Il doit en avoir bcp des bons points !!! lol  
 :pt1cable:  
 
 
en tout cas merci à toi benou !  :jap:  :jap:


Message édité par theblackdevil le 30-08-2003 à 03:02:36
Reply

Marsh Posté le 30-08-2003 à 03:59:10    

theblackdevil a écrit :

Je croyais que a et b influaient directement sur s mais en fait c'est le 'passage' du prog qui incrémente ?s? (enfin jme comprends :D)


 
Non, ne crois pas t'en tirer à si bon compte; vu ta dernière phrase, tu ferais bien de persister encore un coup  :)


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
Reply

Sujets relatifs:

Leave a Replay

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