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

Langage Java Discussion :

aide sur un constructeur(débutant)


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 18
    Par défaut aide sur un constructeur(débutant)
    Débutant en Java je suis bloqué sur le programme suivant qui est une initiation à la programmation objet. Je n'arrive à initialiser correctement le constructeur.

    Merci.

    ////////////////////// fonction principale//////////////////////////////////////////////////////////////////////////////////
    public static void main (String args[]) {

    unSac[] A = new unSac[20];

    A[0]=new unSac(); //erreur: the constructor unSac is undefined



    int Num;
    // saisie du sac A
    Terminal.ecrireString("Saisie des boules du sac A : ");

    for(int i=0;i<A.length;i++){
    A[0].Lire();
    }

    A = Lire(A); //erreur
    Terminal.ecrireString("A = ");
    Affiche(A);
    Terminal.sautDeLigne();


    // saisie d'un numéro de boule
    Terminal.sautDeLigne();
    Terminal.ecrireString("donnez un numero de boule : ");
    Num = Terminal.lireInt();





    }
    }



    class unSac{

    int[]sac;

    unSac(int[] leSac){
    sac=leSac;
    }


    void Affiche(int[] sac) {
    Terminal.ecrireString("{");
    boolean Au_Moins_Un = false;
    for (int i=0; i<sac.length; i++)
    if (sac[i]>0) {
    if (Au_Moins_Un) Terminal.ecrireString(", ");
    else Au_Moins_Un = true;
    Terminal.ecrireString((i+1)+"=>"+sac[i]);
    };
    Terminal.ecrireString("}");
    }

    int[] Lire(int[] sac) {
    int C, N;
    do {
    Terminal.ecrireString("contenu actuel du sac : ");
    Affiche(sac);
    Terminal.sautDeLigne();
    Terminal.ecrireString(" ajouter(+)/retirer(-) combien de boules d'un meme numero (0 = fin) : ");
    C = Terminal.lireInt();
    if (C==0) break;
    Terminal.ecrireString(" quel numero de boule : ");
    N = Terminal.lireInt();
    sac[N-1] = Math.max(0, sac[N-1]+C);
    } while (C!=0);
    return sac;
    }

    }

  2. #2
    Membre éprouvé Avatar de nicgando
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 128
    Par défaut
    le constructeur prend en paramètre un tableau de int, donc il faut lui en donner un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    unSac(int[] leSac){
    sac=leSac;
    }
    Dans ton main tu peux en instancier un, et le passer en paramètre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ...
    //un tableau vide de deux cases
    int[] tab1 = new int[2];
    //un tableau initialisé de deux cases
    int[] tab2 = new int[]{2,3};
     
    //instantiation de sac
    A[0]=new unSac(tab1 );
    A[1]=new unSac(tab2 );
    Si tu commences en Java ton exemple est peut être un peu trop ambigu au niveau des noms des classes et variables; il y a des sacs partout

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 18
    Par défaut
    Pour A, il me répond "A cannot be resolved" et si je déclare A comme étant de type unSac cela ne fonctionne pas non plus.

    Merci

  4. #4
    Membre éprouvé Avatar de nicgando
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 128
    Par défaut
    Mon bout de code n'est pas complet je suis reparti du tien

    Dans mon code, comme dans le tien, A est un tableau de Sac
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unSac[] A = new unSac[20];
    je déclare A comme étant de type unSac cela ne fonctionne pas non plus
    Soit tu déclares A comme un tableau de Sac
    Soit tu le déclares comme un objet simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    A a = new unSac(new int[]{1,3});
    Comme dis précédemment si tu es débutant commencer avec un exemple ou tout le monde s'appelle sac est un peu ambigu, et commencer avec un tableau d'objet aussi

    Jette un coup d'oeil sur cette partie du site

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 18
    Par défaut
    Je viens d'arriver à initialiser correctement mon constructeur, pour les noms de variables, je suis en train de les changer, merci beaucoup.

  6. #6
    Membre éprouvé Avatar de nicgando
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 128
    Par défaut
    Si ton problème est résolu pense à

Discussions similaires

  1. Aide sur GROUP BY (débutant)
    Par zouzoukha dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/03/2011, 01h08
  2. Emploi : Aide sur un programmeur débutant
    Par razily dans le forum Emploi
    Réponses: 5
    Dernier message: 26/04/2010, 13h45
  3. besoin d'aide sur boucle : niveau débutant
    Par tibofo dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 22/10/2009, 21h36
  4. aide sur les fonctions (débutant)
    Par tregont dans le forum Débuter
    Réponses: 4
    Dernier message: 22/01/2006, 22h03
  5. [Débutant] besoin d'aide sur les web services
    Par Diangelita dans le forum Services Web
    Réponses: 3
    Dernier message: 20/01/2006, 09h41

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