aide pour un programme JAVA (débutante)

aide pour un programme JAVA (débutante) - Java - Programmation

Marsh Posté le 01-11-2008 à 23:02:21    

Bonjour,  
 
Je souhaiterai avoir votre aide sur un programme qui me semble pouranta assez simple...
Voilà l'enoncé :  
 
1/ En utilisant les boucles for écrire un prog qui réalise l'affichage suivant (sans l'italique biensur):
     
   1 2 3 4 5 6
    2 3 4 5 6 1
    3 4 5 6 1 2
    4 5 6 1 2 3
    5 6 1 2 3 4

 
J'ai réussi a faire partiellement l'affichage, en faite je n'arrive pas a afficher tous ce qui ce trouve en italique.
Mon Prog :
 

Code :
  1. public class revision1_3
  2. {public static void main (String args [])
  3. {int i;
  4.  for(i=0; i<=5; i++)
  5.  {System.out.print (i+1);
  6.  System.out.print (" " );
  7.  }
  8.  System.out.println();
  9.  for(i=1; i<=5; i++)
  10.  {System.out.print (i+1);
  11.  System.out.print (" " );
  12.  }
  13.  System.out.println();
  14.  for(i=2; i<=5; i++)
  15.  {System.out.print (i+1);
  16.  System.out.print (" " );
  17.  }
  18.  System.out.println();
  19.  for(i=3; i<=5; i++)
  20.  {System.out.print (i+1);
  21.  System.out.print (" " );
  22.  }
  23.  System.out.println();
  24.  for(i=4; i<=5; i++)
  25.  {System.out.print (i+1);
  26.  System.out.print (" " );
  27.  }
  28.  System.out.println();
  29. }
  30. }


 
 
2/ Réecrire le prog du point 1/ en utilisant les boucles while
Ici j'ai le même problème ...
 
 

Code :
  1. public class revision1_4
  2. {public static void main (String args [])
  3. {int i=0,j=1,k=2,l=3,m=4;
  4.  while(i<=5)
  5.  {i++;
  6.  System.out.print (i);
  7.  System.out.print (" " );
  8.  }
  9.  System.out.println();
  10.  while(j<=5)
  11.  {j++;
  12.  System.out.print (j);
  13.  System.out.print (" " );
  14.  }
  15.  System.out.println();
  16.  while(k<=5)
  17.  {k++;
  18.  System.out.print (k);
  19.  System.out.print (" " );
  20.  }
  21.  System.out.println();
  22.  while(l<=5)
  23.  {l++;
  24.  System.out.print (l);
  25.  System.out.print (" " );
  26.  }
  27.  System.out.println();
  28.  while(m<=5)
  29.  {m++;
  30.  System.out.print (m);
  31.  System.out.print (" " );
  32.  }
  33.  System.out.println();
  34. }
  35. }


 
 
 
3/ En utlisant deux boucles for , écrire un programme qui réalise l'affichage suivant :
 
   0 0 1 0 0
    0 0 1 0 0
    1 1 1 1 1
    0 0 1 0 0
    0 0 1 0 0

 
 
là je n'ai pas la moindre idée!!
 
 
Merci d'avance de votre aide  
 
 
 
 
 
 
 
 
 

Reply

Marsh Posté le 01-11-2008 à 23:02:21   

Reply

Marsh Posté le 01-11-2008 à 23:07:43    

Pour le premier :

Code :
  1. public class Essai
  2. {
  3.   public static void main (String[] args)
  4.   {
  5.     String[] lut = {"1 2 3 4 5 6",
  6.                     "2 3 4 5 6 1",
  7.                     "3 4 5 6 1 2",
  8.                     "4 5 6 1 2 3",
  9.                     "5 6 1 2 3 4"};
  10.     for (int i = 0; i < lut.length; ++i)                                           
  11.     {                                                                             
  12.       System.out.println(lut[i]);                                                     
  13.     }
  14.   }
  15. }
 

[:romf]


Message édité par dap++ le 01-11-2008 à 23:10:17

---------------
dap.developpez.com
Reply

Marsh Posté le 01-11-2008 à 23:42:16    

tes 5 boucles for sont regroupables dans une boucle (tu auras donc 2 for imbriqués). Je pense que pour la partie en italique un modulo devrait faire l'affaire, je te laisse chercher...

Reply

Marsh Posté le 02-11-2008 à 09:58:24    

merci dap++, mais je n'ai pas encore vue la "fonction" lut.length , y a t-il moyen de la remplacé par autres chose ??
merci a toi aussi fhr, je vais cherchée un peu et vous tiens au courant ;) !

Reply

Marsh Posté le 02-11-2008 à 21:39:44    

Laure, ton erreur pour la seconde ligne a afficher est la suivante:
 

Code :
  1. for(i=1; i<=5; i++)  //erreur avec le 5
  2.   {System.out.print (i+1);
  3.   System.out.print (" " );
  4.   }
  5.   System.out.println();


 
tes valeurs vont varier de 1 a 5, donc tu vas imprimer des valeurs de 2 a 6, et apres tu ne fais rien pour imprimer la valeur 1.
Pareil au coup d'apres, tes valeurs vont varier de 2 a 5, donc tu vas imprimer des valeurs de 3 a 6, et apres tu ne fais rien pour imprimer les valeur 1 et 2.
 
Deja pour résoudre ca, il vaut mieux utiliser l'operateur modulo, qui s'écrit % et decaler de 1, puisque modulo remet a zero:

Code :
  1. public class revision1_4 {
  2.    public static void main (String args []) {
  3.        for (int i=0; i<5; ++i) {
  4.            for (int j=0; j<=5; ++j) {
  5.                System.out.print(1+((i+j)%6));
  6.                System.out.print (" " );
  7.            }
  8.            System.out.println();
  9.        }
  10.    }
  11. }


 
A+,

Message cité 1 fois
Message édité par gilou le 02-11-2008 à 21:43:27

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 03-11-2008 à 11:59:28    

gilou a écrit :

Laure, ton erreur pour la seconde ligne a afficher est la suivante:
 

Code :
  1. for(i=1; i<=5; i++)  //erreur avec le 5
  2.   {System.out.print (i+1);
  3.   System.out.print (" " );
  4.   }
  5.   System.out.println();


 
tes valeurs vont varier de 1 a 5, donc tu vas imprimer des valeurs de 2 a 6, et apres tu ne fais rien pour imprimer la valeur 1.
Pareil au coup d'apres, tes valeurs vont varier de 2 a 5, donc tu vas imprimer des valeurs de 3 a 6, et apres tu ne fais rien pour imprimer les valeur 1 et 2.
 
Deja pour résoudre ca, il vaut mieux utiliser l'operateur modulo, qui s'écrit % et decaler de 1, puisque modulo remet a zero:

Code :
  1. public class revision1_4 {
  2.    public static void main (String args []) {
  3.        for (int i=0; i<5; ++i) {
  4.            for (int j=0; j<=5; ++j) {
  5.                System.out.print(1+((i+j)%6));
  6.                System.out.print (" " );
  7.            }
  8.            System.out.println();
  9.        }
  10.    }
  11. }


 
A+,


 
 
Merci bcp , sa m'a bcp aidé ^^ !! j'me remet un peu aux autres questions et vous tiens au courant

Reply

Sujets relatifs:

Leave a Replay

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