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

Java Discussion :

Big Integer fonctionne aps


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 45
    Points : 37
    Points
    37
    Par défaut Big Integer fonctionne aps
    Bonjour,

    J'ai dans ma classe Hachage une variable d'instance de type BigInteger, j'ai définit un constructeur, pour l'initialiser, comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public Hachage(BigInteger m){
    		//J'initialise une ArrayList d'une ArrayList pour ajouter en cas de collision les objets en chaine
    		this.m = m;
    		table = new ArrayList<ArrayList<T>>();
    		for(int compteur = 0; compteur<m.intValue(); compteur++){
    			table.add(new ArrayList<T>());
    		}
    	}
    Quand j'instancie ma classe Hachage dans mon main j'ai les erreures suivantes sous éclipse :
    Multiple markers at this line
    - The constructor Hachage(int) is undefined
    - Hachage is a raw type. References to generic type Hachage<T> should be
    parameterized
    - Hachage is a raw type. References to generic type Hachage<T> should be
    parameterized

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Hachage tabh = new Hachage(28);
    Je comprends pas dans un BigInteger pourquoi je peux pas mettre 28?

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Citation Envoyé par johnmax Voir le message
    Je comprends pas dans un BigInteger pourquoi je peux pas mettre 28?
    Parce que 28 c'est un int, qu'on peut éventuellement mettre dans une variable d'un autre type primitif (sauf boolean) tel quel, ou un Integer par autoboxing. On ne peut pas le faire pour un BigInteger (voir la javadoc à ce sujet) : on fait par exemple new BigInteger("28").
    Eventuellement, tu peux t'ajouter un constructeur de convénience à ta classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public Hachage(int m) {
    this( new BigInteger(String.valueOf(m)) );
    }


    Citation Envoyé par johnmax Voir le message
    Quand j'instancie ma classe Hachage dans mon main j'ai les erreures suivantes sous éclipse :
    Multiple markers at this line
    - The constructor Hachage(int) is undefined
    - Hachage is a raw type. References to generic type Hachage<T> should be
    parameterized
    - Hachage is a raw type. References to generic type Hachage<T> should be
    parameterized

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Hachage tabh = new Hachage(28);
    Tu as déclarée ta classe en la paramètrant. Quelque chose entre < et >, comme ça par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class Hachage<T> {
    Ceci t'impose de préciser la valeur du paramètre (un type en général) lorsque tu déclares la classe, et lorsque tu l'instancies (sauf dans certains cas où Java peut deviner cette valeur) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Hachage<ici un type> tabh = new Hachage<>( ... ); // dans l'instanciation, on peut mettre <>, car le type peut être déduit de ce qui est indiqué dans le type de la déclaration (à gauche).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 45
    Points : 37
    Points
    37
    Par défaut
    Super merci beaucoup pour ta rapidité et ta réponse !

    Bonne soirée

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

Discussions similaires

  1. [BigIntegers] Obtenir un random borné entre deux big integers.
    Par Aiolii dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 12/02/2014, 21h53
  2. Réponses: 2
    Dernier message: 04/05/2009, 16h07
  3. Réponses: 7
    Dernier message: 19/02/2008, 15h30
  4. Big Integer en C
    Par Trap D dans le forum C
    Réponses: 4
    Dernier message: 28/02/2004, 19h25

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