cs_domxaline
Messages postés327Date d'inscriptionjeudi 21 août 2008StatutMembreDernière intervention10 mai 2012
-
10 juil. 2009 à 12:23
cs_domxaline
Messages postés327Date d'inscriptionjeudi 21 août 2008StatutMembreDernière intervention10 mai 2012
-
10 juil. 2009 à 13:57
bonjour
public class essaie
{
public static void main (String [] args)
{
for(int i =0; i <= 10; i++)
if (i%2==1)
{
continue;
}
System.out.println("carré de " + i + " = " + (i *i));
}
}
en executant ce prg j'ai un message i cannot be resolved
veuille m'aidez s'il vous plaît
A voir également:
Ioexception cannot be resolved to a type
Non static method cannot be referenced from a static context - Meilleures réponses
The import java.io.ioexception cannot be resolved - Meilleures réponses
Madvin
Messages postés123Date d'inscriptionmardi 5 août 2003StatutMembreDernière intervention26 août 20123 10 juil. 2009 à 13:47
Bonjour,
Effectivement ton code contient une erreur.
Ta variable 'i' est en effet définie uniquement dans le bloc de la boucle 'for'.
Le bloc de la boucle 'for' est uniquement la partie suivante de ton code :
for(int i = 0; i <= 10; i++)
if (i%2==1)
{
continue;
}
Le problème, qui te provoque l'erreur de compilation, est que tu l'appelles à l'extérieur de ce bloc (dans le 'System.out.println...').
Autre remarque : il y a très certainement un problème algorithmique dans ton code actuel.
En effet tel quel : ta boucle 'for' va parcourir forcément tous les 'i', le 'if' ne sert à rien car si 'i' est impair, la boucle 'continue;' et si 'i' est pair, elle continue aussi.
De plus, le résultat de ton programme actuel est qu'il va uniquement afficher "carré de 11 = 121".
Conseil : Si tu veux pouvoir visualiser plus facilement le bloc d'une boucle 'for', ajoute des accolades pour pouvoir le délimiter visuellement, comme ceci :
for(int i =0; i <= 10; i++)
{
if(i%2 ==1)
{
continue;
}
}
Tout le code que tu mettras entre les accolades en gras (ci-dessus) fera partie du bloc 'for'.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 10 juil. 2009 à 13:49
Salut,
Tu vas nous poser combien de fois la même question ? Tu n'as pas compris ce qu'on t'as dit précédement ?
Il faut une accolade après la boucle for, sinon, forcément ca ne marche pas ! Et évite le continue qui fait très crade.
public class essaie
{
public static void main (String [] args)
{
for(int i =0; i <= 10; i++) {
if (i%2 !=1) {
System.out.println("carré de " + i + " = " + (i *i));
}
}
}
}
Madvin
Messages postés123Date d'inscriptionmardi 5 août 2003StatutMembreDernière intervention26 août 20123 10 juil. 2009 à 13:52
Autre précision :
Tu dis que c'est en "exécutant" le programme que tu as l'erreur.
Ceci n'est pas vraiment correct puisque c'est en "compilant" ton programme que l'erreur se produit.
Avant de pouvoir "exécuter" un programme, il faut l'avoir "compilé" avec succès.