IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

Peut-on remplir un tableau illimité en temps réel


Sujet :

Collection et Stream Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Mai 2012
    Messages : 29
    Points : 23
    Points
    23
    Par défaut Peut-on remplir un tableau illimité en temps réel
    Bonjour,
    les questions que je me pose est, serait-il possible de remplir un tableau illimité en temps réel et comment s'y prendre pour récupérer la mémoire une à une.
    Par avance merci de vos suggestions.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    import java.util.Scanner;
     
    public class Main {
    	public static String[] tableau;
    	public static String nom;
    	public static char reponse;
    	public static int nb1;
    	public static int nb2;
     
    	@SuppressWarnings("resource")
    	public static void main(String[] args) {
    		new Main();
     
    		Scanner sc = new Scanner(System.in);
    		nb1 = 0;
    		nb2 = 1;
     
    		do
    		{
    			tableau = new String[nb2];
     
    			System.out.println("Donnez une mémoire : ");
    			nom = sc.nextLine();
    			tableau[nb1] = nom;
    			nb1++;
     
    			do
    			{
    			    System.out.println("Voulez-vous arreter ? (O/N)");
    			    reponse = sc.nextLine().charAt(0);
    			    nb2++;
     
    			}while(reponse != 'O' && reponse != 'N');
     
    		}while(reponse  == 'N');
     
     
    		System.out.println("fin de la boucle");
    		System.out.println("Le nombre de mémoire : " +nb1);
    		System.out.println();
     
    			for(String t : tableau){
    				System.out.println(t);
    			}
    	}
    }
    Résultat console:
    Donnez une mémoire :
    Pierre
    Voulez-vous arreter ? (O/N)
    N
    Donnez une mémoire :
    Paul
    Voulez-vous arreter ? (O/N)
    N
    Donnez une mémoire :
    Jack
    Voulez-vous arreter ? (O/N)
    O
    fin de la boucle
    Le nombre de mémoire : 3

    null
    null
    Jack

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    C'est à ça que servent les List, par exemple ArrayList.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Illimité? Non, tu seras toujours limité par la mémoire.


  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 312
    Points : 533
    Points
    533
    Par défaut
    Bonjour,

    À chaque fois que tu débutes la grande boucle, tu instances un nouveau tableau de taille nb2 qui augmente à chaque tour. Par contre c'est un nouveau tableau qui est vide et tu n'y mets qu'un seul élément dedans à l'emplacement nb1.

    Donc il est tout à fait normal que ton tableau ait 3 valeurs dont une seule définie la troisième car nb2 = 3 et nb1 = 2

  5. #5
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Mai 2012
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Je vous remercie de vos réponses et j'espère que ceci servira pour quelqu'un.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
     
    public class Main {
    	public static List<String> list;
    	public static String nom;
    	public static char reponse;
    	public static int nb1;
     
    	@SuppressWarnings("resource")
    	public static void main(String[] args) {
    		new Main();
     
    		Scanner sc = new Scanner(System.in);
    		list = new ArrayList<String>();
    		nb1 = 0;
     
    		do
    		{
    			System.out.println("Donnez une mémoire : ");
    			nom = sc.nextLine();
    			list.add(nom);
    			nb1++;
     
    			do
    			{
    			    System.out.println("Voulez-vous arreter ? (O/N)");
    			    reponse = sc.nextLine().charAt(0);
     
    			}while(reponse != 'O' && reponse != 'N');
     
    		}while(reponse  == 'N');
     
     
    		System.out.println("fin de la boucle");
    		System.out.println("Le nombre de mémoire : " +nb1);
    		System.out.println();
     
    			for(String t : list){
    				System.out.println(t);
    			}
    	}
    }
    Résultat console:
    Donnez une mémoire :
    Pierre
    Voulez-vous arreter ? (O/N)
    N
    Donnez une mémoire :
    Paul
    Voulez-vous arreter ? (O/N)
    N
    Donnez une mémoire :
    Jack
    Voulez-vous arreter ? (O/N)
    O
    fin de la boucle
    Le nombre de mémoire : 3

    Pierre
    Paul
    Jack

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Free Pascal] Déclarer et remplir un tableau en même temps
    Par WayneCampbell dans le forum Lazarus
    Réponses: 2
    Dernier message: 12/03/2011, 19h01
  2. Créer un tableau extensible en temps réel
    Par Philippe320 dans le forum MFC
    Réponses: 2
    Dernier message: 22/06/2006, 10h47
  3. remplir deux tables en meme temps
    Par rafawel dans le forum Langage SQL
    Réponses: 4
    Dernier message: 14/06/2005, 17h41
  4. Peut on apprendre 2 langage en même temps ?
    Par tantto dans le forum C++
    Réponses: 4
    Dernier message: 13/03/2005, 20h35
  5. [PHP-JS] Remplir un tableau javascript selon un tableau php
    Par jerome38000 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/01/2005, 15h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo