bonjour,
je me demande comment fair un goto avec java....je sais que c'est quelque chose comme sa:
etiquette:
//code....
continue etiquette;
le probleme est que j'arive pas a declaré mon label....kel est la syntaxe exacte!
Version imprimable
bonjour,
je me demande comment fair un goto avec java....je sais que c'est quelque chose comme sa:
etiquette:
//code....
continue etiquette;
le probleme est que j'arive pas a declaré mon label....kel est la syntaxe exacte!
bonjour,
pas de goto en java à ma connaissance, c'est pas un langage séquentiel...
pourquoi avoir besoin d'un goto?
oui, mais quand je compile il me donne une erreur comme quoi j'ais pas declarer mon label:etiquette!
Voici un exemple qui devrait répondre amplement à ta question :
Code:
1
2
3
4
5
6
7
8
9
10
11
12 public class MyClass { public void method(int a) { for (int i = 0; i < a; i++) { if (i == 3) { // skip number three continue label; } System.out.println(i); } label: System.out.println("Ca y est !"); }
ici tu remplaces label par l'identifiant que tu veux, et voilà ! Bien sûr, tu peux sortir de toute forme de boucle (for, while, switch) avec cette syntaxe .
Il est je crois bien possible de faire un break label; pour sortir complètement de la boucle, mais je ne connais pas la différence exacte avec le continue...
Au plaisir !:fem:
voila le code:
l'erreur est la suivante:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 int j; int i = 1; label: j = tabChoi[i]; if (tabGroup[j] != "Désactivé"){ insert = "traitement"; //un traitement specifique }else{ i = ++i; continue label; }
Error(413,15): undefined label: label
je crois comprendre quand utilise le label qu'avec une boucle while , for ou switch, mais pas dans mon cas?
Oui effectivement dans ton cas, ça n'a pas de sens. D'ailleurs le continue ou break ne s'utilisent (même si ça n'est pas recommandé) que pour des boucles... Le break s'utilise également pr le switch, et là c'est utile...
Mais dans ton cas il faudrait plutôt revoir ton algo :)
Non continue s'utilise dans n'importe quel type de bloc même dans :
Code:
1
2
3
4
5
6
7
8
9
10
11 public class Test { public static void main(String args[]) { { continue; //branchement } //ici } }
je crois que je vais faire mon test avec une petite boucle while, elle fera l'affair.........merci pour votre aide!!!!!!!!!
C'est break alors :aie: ?
Tsss.
J'étais pourtant pérsuadé que ça marchait :?
Et avec une étiquette ?
En effet oui, en Java, les etiquettes sont utilisees que pour indiquer a quelle boucle sauter (continue) ou interrompre (break). (donc on peut placer une etiquette seulement devant une boucle)
Par exemple:
Dans ce pseudocode, si condition == true, alors boucle2 et boucle3 seront interrompus et l'execution va continuer avec le pas souivant de la boucle1. Au cas contraire toutes les trois boucles seront interrompues.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 etiquette:boucle1 { boucle2 { boucle3 { if (condition) { continue etiquette; } else { break etiquette; } } } }
J'espere que ca te sera utile :D
Bonne chance! :)