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 :

nombre d'éléments pour un tableau


Sujet :

Collection et Stream Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 49
    Points : 32
    Points
    32
    Par défaut nombre d'éléments pour un tableau
    si je laisse au user le choix de saisir le nombre d'éléments pour un tableau (voir le code) si il saisi la valeur 100 le programme ne pourra pas crée ce tableau comment je fais?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    double [] B=new double[50];
        int n;
     
    System.out.println("Entrer le nombre d'éléments");
    n=Keyboard.getInt();
    System.out.println("B=");
    for(int i=0;i<=n;i++)
    {
    B[i]=Math.random();
      System.out.print(B[i]);
     
    }

  2. #2
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par bengueddach Voir le message
    si je laisse au user le choix de saisir le nombre d'éléments pour un tableau (voir le code) si il saisi la valeur 100 le programme ne pourra pas crée ce tableau comment je fais?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    double [] B=new double[50];
        int n;
     
    System.out.println("Entrer le nombre d'éléments");
    n=Keyboard.getInt();
    System.out.println("B=");
    for(int i=0;i<=n;i++)
    {
    B[i]=Math.random();
      System.out.print(B[i]);
     
    }
    Fais l'allocation après l'entrée de l'utilisateur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    n = ...
    if(n<0) {
      //erreur
    }
    else {
     b = new double[n];
      ....
    }
    A noter qu'on fait généralement commencer les variables par des minuscules.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 49
    Points : 32
    Points
    32
    Par défaut code
    bonjour
    voila mon code
    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
     
    package exo_tab;
    import biputil2.*;
     
    public class exo {
      public exo() {
      }
      public static void main(String[] args) {
        exo exo1 = new exo();
     
        int n;
     
    System.out.println("Entrer le nombre d'éléments");
    n=Keyboard.getInt();
        if (n<0) System.out.print("erruer");
    else     { 
     
      double  B[]=new double[n];
          System.out.println("B=");
          for(int i=0;i<=n;i++)
          {
          B[i]=Math.random();
            System.out.print(B[i]);
     
            }
     
     
    }
    }}
    reste maintenant l'erreur qui s'affiche le programme me crée un tableau de taille dynamique c'est a dire fixé par l'utilisateur mais il m'affiche ça:
    Entrer le nombre d'éléments
    14
    B=0.65800290457550060.45250438377529580.33982280251790010.9150611060047370.5256767692570830.186300348813037140.6462079869338190.038931214549842610.40197167495110750.55863482019851320.73231226731793940.81704923558622170.91968898395671520.8583610183958882

    java.lang.ArrayIndexOutOfBoundsException: 14
    at exo_tab.exo.main(exo.java:29)

  4. #4
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Si tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    for(int i=0;i<=n;i++)
    tu va une case trop loin dans ton tableau de n élément.
    Tu dois faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    for(int i=0;i<n;i++)

  5. #5
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 49
    Points : 32
    Points
    32
    Par défaut [résolu]merci ça marche
    Bonjour à tous
    oui guigui ta remarque était bien à sa place merci

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/08/2009, 14h38
  2. [Tableaux] Compter le nombre d'éléments d'un tableau
    Par philippef dans le forum Langage
    Réponses: 1
    Dernier message: 25/11/2008, 12h50
  3. Compter le nombre d'éléments d'un tableau
    Par Ishizaki dans le forum ASP.NET
    Réponses: 28
    Dernier message: 21/04/2008, 09h08
  4. Nombre d'élément d'un tableau
    Par barok dans le forum Flash
    Réponses: 3
    Dernier message: 10/10/2005, 20h02
  5. Compter le nombre d'élément dans un tableau
    Par cryptorchild dans le forum Langage
    Réponses: 6
    Dernier message: 08/07/2005, 13h01

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