Constructeur Tableau - Merci pour votre aide ! :-)

Constructeur Tableau - Merci pour votre aide ! :-) - Java - Programmation

Marsh Posté le 23-08-2009 à 06:07:44    

Bonjour à tous,  
Je n'arrive pas à corriger l'erreur suivante :
 
Exception in thread "main" java.lang.NullPointerException
        at Tableau.setElementI(Tableau.java:26)
        at Test.main(Test.java:13)
Java Result: 1
 
Voici mes 2 classes :
 
public class Tableau {
     
    int [] tableau;
    private int i;
     
    public Tableau(){
         
    }
 
    public int[] getTableau() {
        return tableau;
    }
 
    public void setTableau(int[] tableau) {
        this.tableau = tableau;
    }
     
    public int getElementI(int i){
        for (i = 0; i < tableau.length; i++){
        }
        return i;
    }
     
    public void setElementI(int v){
        this.tableau[i] = v;
    }
 
}
*********************************************************
import java.util.Scanner;
/**
 *
 * @author Jessica
 */
public class Test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Tableau tableau = new Tableau();
        //int [] tableauEntiers = new int [4];
        System.out.println("Veuillez saisir 4 entiers pour ce tableau :" );
        int entier1 = sc.nextInt();
        tableau.setElementI(entier1);
        int entier2 = sc.nextInt();
         
        int entier3 = sc.nextInt();
        int entier4 = sc.nextInt();
        System.out.println("Voici le tableau créé : " );
         
        System.out.println("Quel entier compris dans le tableau souhaitez-vous afficher ?" );
        int entierAffiche = sc.nextInt();
        tableau.getElementI(entierAffiche);
        System.out.println(entierAffiche);
         
         
    }
 
}
 
 
Merci beaucoup pour votre aide.

Reply

Marsh Posté le 23-08-2009 à 06:07:44   

Reply

Marsh Posté le 23-08-2009 à 09:11:30    

Demande toi combien vaut le "int i" quand appelles tableau.setElementI(entier1);


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 23-08-2009 à 11:06:28    

Mets ton code entre les balises [ code=java] [ /code] (sans espaces) car c'est illisible.

Code :
  1. public int getElementI(int i){
  2.        for (i = 0; i < tableau.length; i++){
  3.        }
  4.        return i;
  5.    }
 

Ca sert à quoi ça ?  :??:


Message édité par Deamon le 23-08-2009 à 11:06:42
Reply

Marsh Posté le 23-08-2009 à 11:57:41    

mdr je l'avais pas lue cette méthode :lol:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 23-08-2009 à 19:49:55    

Merci pour les conseils, j'ai trouvé mon erreur.
esox_ch, pas très cool ton commentaire : "mdr je l'avais pas lue cette méthode", je débute, je fais des erreurs, c'est pas la peine de m'enfoncer ...

Reply

Marsh Posté le 23-08-2009 à 19:56:23    

Salut,
Désolé si mon commentaire t'a offensé, c'était absolument pas le but. C'est juste le commentaire de Deamon qui m'a fait rire. encore désolé


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 23-08-2009 à 20:24:56    

Ca me touche que tu le prennes comme ça, je viens pas souvent sur les forums et en général il y a beaucoup de gens qui se moquent alors ça me met un peu les boules. Peut etre que c'était gros ce que j'avais marqué aussi. En tout cas, tu as marqué :
"Demande toi combien vaut le "int i" quand appelles tableau.setElementI(entier1);"
et donc j'ai initialisé la variable private int i à zéro et du coup ça marche. C'était bien cela qu'il fallait faire ?
Si c'était juste, merci de m'avoir mis la puce à l'oreille sans me donner directement la réponse :-)

Reply

Marsh Posté le 23-08-2009 à 21:18:27    

Bien. Par contre t'as corrigé la méthode que j'ai citée ?

Reply

Marsh Posté le 29-08-2009 à 17:14:31    

Oui tout est corrigé et tout fonctionne. merci Deamon :-)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed