Probléme avec les tableaux en java

Bonjour,
voia depuis un bon moment je plante face a ce morceau de code qui devrai marcher sans probléme mais eclipse m'affiche toujours sa:
Exception in thread "main" java.lang.NullPointerException
at main.main(main.java:13)
voila le code:

public static void main(String[] args) {

int tab[][]=new int[4][];
int t[]={1,2,3,4};
tab[0]=t;
int t2[]={1,2,3,4};
tab[1]=t2;

for(int i=0;i<tab.length;i++){
for(int j=0;j<tab[i].length;j++){
System.out.print(tab[i][j]);
System.out.print(" ");
}
System.out.println();
}

merci de bien vouloir m'aider.
Configuration: Windows 7 / Firefox 3.6

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. voila le morceau de code qui m'a intrigué: et pour les x et les y je suis d'accord avec toi sauf pour les "y" car en java tu peux ne pas déclarer le nombre de colonne sachant qu'il peut étre différent a chaque ligne et donc chaque ligne pointera vers un vecteur.

    byte[][] data = new byte[3][];
    byte []tab={1,2,3,4,5,6};
    // Code les données
    for(int i=0;i<3;i++)
    data[i]=tab;

    for (int i=0; i < data.length; i++) {
    for (int j=0; j < data[i].length; j++) {
    System.out.print(data[i][j] + " ");
    }
    System.out.println();
    }
    System.out.println();

    // Simule des erreurs de transmission
    data[1][2] = 10;

    c'est lorsque j'affecte "10" au data[1][2] il me l'affecte aussi au data[0][2 ]et au data[2][2] et je comprend pas pourquoi?
    1. Salut,

      Non çà ne peut pas marcher avec:

      int tab[][]=new int[4][]; 


      Un tableau de ce type peut être considéré comme une table de x lignes de y colonnes.

      Il faudrait que ton tableau (multi dimensions) soit d'éclaré comme ceci:

      int tab[][]=new int[x][y]; 

      Or tu le déclares avec x = 4 et y = rien, soit 4 lignes, pas de colonnes...

      Et en plus, il faudrait que tu nous dises exactement ce que tu veux faire pour qu'on puisse analyser le code qui suit.

      Cordialement,

      dan