cs_domxaline
Messages postés327Date d'inscriptionjeudi 21 août 2008StatutMembreDernière intervention10 mai 2012
-
10 juil. 2009 à 11:12
cs_domxaline
Messages postés327Date d'inscriptionjeudi 21 août 2008StatutMembreDernière intervention10 mai 2012
-
10 juil. 2009 à 11:54
Bonjour,
public class essaie
{
public static void main (String [] args)
{
for(int i = -3; i <= 3; i++)
if (i==0)
{
continue;
}
System.out.println("inverse de " + i + " = " + (1 / i) );
}
}
en executant ce prg; j'ai error message suivant
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
i cannot be resolved
i cannot be resolved
quand j'enleve if ,il fonctionne à moitié (jusqu'à -1)
Kotomine
Messages postés112Date d'inscriptionlundi 29 juin 2009StatutMembreDernière intervention 5 novembre 2009 10 juil. 2009 à 11:17
N'oublie pas que le for(..){instructions} ne fonctionne que sur les instructions qu'on met dans les {}
Si tu ne met pas de {} après ton for, seule la prochaine instruction est dans la boucle.
ainsi, dans ton for(int i=0 ...) if (){...}, le i n'existe que dans le if
Sinon, "continue", oubli , c'est crade, ça rappelle les vieux jump en assambleur et si jamais t'utilises des instructions complexes (sémaphores, etc) tu peux casser ton programme..
for(int i=-3;i<4;i++){
if(i==0){
printf("L'inverse de 0 n'existe pas");
}else{
System.out.println("L'inverse de "+i+" est "+ 1.0/((double)i));
}
}
(remarque, ici , on pourrait virer les {} autour du if )
;I'm just keeping the hopeless cross to increase the meaninglessness
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 10 juil. 2009 à 11:17
Salut,
Essaye avec cà :
public class Essaie
{
public static void main (String[] args)
{
for(int i = -3; i <= 3; i++) {
if (i!=0)
{
System.out.println("inverse de " + i + " = " + (1 / i) );
}
}
}
}
}