Probleme d'insertion dans un tableau

maxxou56 Messages postés 53 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 15 février 2010 - 26 sept. 2009 à 13:37
 Utilisateur anonyme - 28 sept. 2009 à 00:01
Bonjour tout le monde je suis debutant en programmation mon problème est minime en fait je voudrais faire une insertion dans un tableau
mais jai un petit soucis
mon but est dinsérer des entiers positifs ds un tableau limité à 10 entiers
Lorsque l'utilisateur entre -1 on stoppe les insertions

voila mon code cela ne fonctionne pas

public static void main (String []args){

final int maxn = 10;
int [] t = new int [maxn];
int lgt = 0;
System.out.println("Donnez un entier positif :");
int x = Lecture.lireInt();
for(lgt = 0 ; lgt < maxn; lgt++)
t[lgt] = x;
lgt = lgt + 1;
System.out.println("Donnez un entier positif :");
while(x != -1 && lgt < maxn);
}

2 réponses

ouabida10 Messages postés 57 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 9 janvier 2011 1
26 sept. 2009 à 23:19
salut mon ami ......

public class maxxou56 {
    static int index=0;
     public static void main(String[] args) {

            Scanner sc=new Scanner(System.in);
           int []tab=new int[10];
           boolean bb=true;

            while(bb==true && index<10){
                 System.out.println("Donnez un entier positif :");
                int val=sc.nextInt();
               
                 if(val==-1){
                    bb=false;
                }

                 else if(val<0){
                    System.out.println("vous avez entrez un nombre négatif :");
                }


                else{
                     tab[index]=val;
                             index++;
                }

              }
           
              for(int k=0;k<10;k++){
                   System.out.println("la valeur de la "+(k+1)+" case est :"+tab[k]);
              }
           
     }

}

0
Utilisateur anonyme
28 sept. 2009 à 00:01
Salut,

Ou bien après modif de ton code:
public static void main (String []args) 
        {
         final int MAXN = 10; // pour respecter les conventions (non obligatoire)
         int [] t = new int [MAXN]; 
         int lgt = 0;
         int lgtSv = 0;
         int x = 0;
         boolean encore = true;
         
         while (encore)
         {
            for(lgt = lgtSv ; lgt < MAXN; lgt++)
            {
               lgtSv = lgt;
               encore =  false; // passera true si erreur entrée égative
            System.out.println("Donnez un entier positif (ou -1 pour sortir:");
            x = Lecture.lireInt();
               if(x <-1) //valeur négative autre que -1
               { 
                  System.out.println("Vous avez entré une valeur négative ("
                     + x + ") !!!");
                  encore = true;
                  break;
               }
               
               if (x != -1) 
                  t[lgt] = x;  // on range dans le tableau
               else
               {
                  break; // on quitte car l'entrée est -1
               }
            }
         }
         
         
         System.out.println("\nRESULTAT:");
         for (int i = 0; i < t.length; i++)
        {
            System.out.println(t[i]);
        }
        .....
        .....
        }


Ne sachant rien de ta méthode lireInt() je n'ai pas testé, mais avec la mienne si et c'est OK.

Cordialement,

...\ Dan /...
0
Rejoignez-nous