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 :

problème de taille de tableau


Sujet :

Collection et Stream Java

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 245
    Points : 347
    Points
    347
    Par défaut problème de taille de tableau
    Bon voilà j'explique le problème. J'ai écrit un petit programme qui doit trouver tous les nombres premiers (je sais ya une infinité de solutions mais je veux pousser le calcul jusqu'à la limite du possible). Pour celà je stock mes valeurs dans un tableau de int mais le soucis c'est que le tableau a une taille fixe mais surtout limité.

    Voici le code de mon programme commenté.

    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
    public class premier
    {
            public static void main (String[] args)
            {
                    int[] TabPremier = new int[14999900]; // création d'un tableau
                    TabPremier[0]=2; // On entre le premier nombre premier
                    int longueur = 1; // compteur du nombre de nombres premiers trouvés.
                    int i=3; // premier nombre qui sera testé.
     
                    for(int j=0;j<longueur;j++)
                    {
                            if((i%TabPremier[j])==0) // si le nombre testé est multiple d'un nombre premier du tableau.
                            {
                                    j=0; // On réinitialise le compteur
                                    i = i+2; // pour un nouveau nombre (on exclu les pairs maintenant).
                            }
                            else   
                            {
                                    if(TabPremier[j]>Math.sqrt(i)) // si le nombre premier pris dans le tableau est supérieur à la racine carré du nombre à tester, alors le nombre à tester est prémier.
                                    {
                                    		TabPremier[longueur] = i; // enregistrement du nb premier dans le tableau.
                                            System.out.print(TabPremier[longueur]);
                                            System.out.print(" nombre premier Numero : ");
                                            System.out.println(longueur);
                                            longueur++; // incrémentation du nombre de nombres premiers
                                            j=0; // On réinitialise le compteur
                                            i=i+2; // Un nouveau nombre non pair
                                    }
                            }
                    }
            }       
    }

  2. #2
    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
    Pour ne pas avoir de taille maximal tu devrais utiliser une ArrayList au lieu d'un tableau (package java.util).

  3. #3
    Membre habitué Avatar de fomazou
    Inscrit en
    Mars 2004
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 220
    Points : 151
    Points
    151
    Par défaut
    Bon voilà j'explique le problème. J'ai écrit un petit programme qui doit trouver tous les nombres premiers (je sais ya une infinité de solutions mais je veux pousser le calcul jusqu'à la limite du possible). Pour celà je stock mes valeurs dans un tableau de int mais le soucis c'est que le tableau a une taille fixe mais surtout limité.
    tu peux déclarer un tableau en Java sans initialiser,il va alors se redimensioner automatiquement. Bien sur l'infini n'existe pas en programmation
    juste ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
     int[] TabPremier
    ...

  4. #4
    Membre éclairé

    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 510
    Points : 803
    Points
    803
    Par défaut
    bonjour,

    je te conseille de t'interresser aux collections, en gros on peut assimiler les collections a un "tableau sans fin" (par exemple si tu lui défini une taille de 10 et que tu rentre 11 élément il va étendre son espace mémoire automatiquement et va prendre les 11 valeurs...)

    voila un petit document pour mieux comprendre leur utilité : Les collections en Java

    a +

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 245
    Points : 347
    Points
    347
    Par défaut
    merci bcp pour toutes ces réponses. Je vais regarder ce qui peut etre le plus intéressant dans mon cas

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

Discussions similaires

  1. [Debutant][C] Problème de taille de tableau
    Par althora dans le forum Linux
    Réponses: 2
    Dernier message: 15/12/2008, 22h13
  2. Problème de taille de tableau sous IE 7
    Par chatlumo dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 01/08/2008, 15h22
  3. Problème avec taille de tableau et checkbox
    Par narcis60floyjo dans le forum Langage
    Réponses: 5
    Dernier message: 31/03/2008, 16h13
  4. Problème de taille de tableau
    Par Beush dans le forum C
    Réponses: 4
    Dernier message: 01/11/2005, 17h41
  5. Problème de taille de tableau
    Par k-nine dans le forum C
    Réponses: 6
    Dernier message: 25/09/2005, 09h16

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