2D Array mit parse-Funktion füllen

  • Themenstarter Themenstarter Krossec
  • Beginndatum Beginndatum
K

Krossec

kann mir jemand sagen , wie ich ein 2D Array - Typ integer - mit der Pase-Funktion füllen kann?
Java:
int MessWerte[][] = null;
inti=0;
.....
while(cases !=  null)
{
         try
        {
	      MessWerte[i][0] = Integer.parseInt(cases[0]);	
              MessWerte[0][i] = Integer.parseInt(cases[1]);       	      
	 }
	 catch(NumberFormatException ex){
	      System.err.println("Eine Wert war keine Zahl! " + ex.getMessage());
	 }
	 catch(NullPointerException nex){
	      System.err.println("Null-Wert gefunden! " + nex.getMessage());
	 }
  i++;
}

Gruß
 
Genau so. Der Code hat aber vielleicht den Nachteil, das er in einer Endlosschleife enden kann.
 
mein Problem dabei ist, dass mir das Programm 7 mal den NullPointerException ausgiebt.

woran liegt das? Ich denke so wie ich das geschireben habe kann das irgendwie nicht hinhauen
 
mein Problem dabei ist, dass mir das Programm 7 mal den NullPointerException ausgiebt.

woran liegt das? Ich denke so wie ich das geschireben habe kann das irgendwie nicht hinhauen

So wie das aussieht hast du das Array MessWerte nocht nicht befüllt. Somit kannst auch nicht mit der Variable i auf das Array zugreifen und es durchlaufen.

Mach es mal so: int MessWerte[][] = new int[10][10]; bzw halt statt 10 die Größe des Arrays!
 
EDIT: zu spät :-(

Moin,

mein Problem dabei ist, dass mir das Programm 7 mal den NullPointerException ausgiebt.
woran liegt das? Ich denke so wie ich das geschireben habe kann das irgendwie nicht hinhauen

wo genau bekommst Du ihn denn?
In Zeile 8 ?
Dann wird es wohl daran liegen, das die Variable "MessWerte" nach ihrer Deklaration als Null-Pointer nicht initialisiert wird (!)

Java:
// statt
int MessWerte[][] = null;

// besser
int MessWerte[][] = new MessWerte[x][y];  // wobei die Größe von x und y bekannt sein muss

Und später dann das delete[] nicht vergessen ...

Gruß
Klaus
 
Super ^^

und was meinst du mit delete[] ? Brauche ich das, und wofür?
 
Wie meine Vorredner schon richtig gesagt haben muss das Array natürlich initialisiert sein.

D.h.

Java:
private final int[][] messWerte = new int[15][10];

          MessWerte[i][0] = Integer.parseInt(cases[0]); 
          MessWerte[0][i] = Integer.parseInt(cases[1]);

Und als Schleife würde ich hier eine for-Schleife empfehlen, welches dein i hochzählt :) :google:

P.S.: Variablen-Namen beginnen in Java standardmäßig klein. Die meisten halten sich zumindest bei den Namen an die Sun Code Convention http://java.sun.com/docs/codeconv/
 
Zurück