String in int umwandeln und in Array ablegen

Status
Nicht offen für weitere Antworten.

manuche

Bekanntes Mitglied
Hi!
Ich versuche grade aus einer Textbox einen Wert in ein Integer umzuwandeln und in ein Zweidimensionales Array zu speichern... Ich weiss allerding nicht was falsch läuft...
Kann mir jemand einen Tip geben?

Code:
//Textboxen Array
private TextField [][] matrix = {
		  {textField1, textField2, textField3},
		  {textField4, textField5, textField6},
		  {textField7, textField8, textField9},
};

private int [][] werte = new int[2][2];


//Schleife in der der Integerwert weggespeichert werden soll
String text = new String();
for(int x = 0; x <= 2; x++){
  for (int y = 0; y <= 2; y++){
    text = matrix[x][y].getText();
    if (text.equals("")){
      werte[x][y] = Integer.valueOf(text).intValue();
      matrix[x][y].setText("X");
    }else{
      werte[x][y] = Integer.valueOf(text).intValue();
      matrix[x][y].setText("A");
    }	  
  }
}

Gruß manuche
 
Also ich arbeite mit eclipse und wenn ich den Quellcode ausführe kommt unten in der Console folgender roter Text:

xception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.valueOf(Unknown Source)
at Sudokusolver.button1ActionPerformed(Sudokusolver.java:112)
at Sudokusolver$2.actionPerformed(Sudokusolver.java:83)
at java.awt.Button.processActionEvent(Unknown Source)
at java.awt.Button.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Ich hab allerdings kein plan was das bedeutet weil ich Neuling in Sachen Java bin
So bald ich alles rausnehme was mit dem Integer-Kram zu tun hat läufts ohne Probleme...
 
java.lang.NumberFormatException: For input string: ""

"" ist keinen Nummer also gibts nen Fehler....."3" wäre zB eine Nummer und "hallo" würde wieder schief gehen

EDIT:
beim 2 hingucken sieht so aus, also ob du leere Textfelder hast und die dann in Integer parsen willst, was in einem Fehler endet
 
Das heisst soviel wie, dass ich vorher absichern muss ob die Textfelder belegt sind...
Also darf ich
Code:
werte[x][y] = Integer.valueOf(text).intValue();
erst anwenden wenn zuvor die Textbox belegt wurde bzw. wenn man eine if Abfrage macht...
Code:
if (text.equals(""){
  ...
}else{
  werte[x][y] = Integer.valueOf(text).intValue();
}

Wo wir schonmal dabei sind... gibts im letzteren Fall soetwas wie eine verneinung?
Sowas gibts im VB soweit ich weiss mit If (Not text = "") Then...
 
Code:
try
{
  werte[x][y] = Integer.parseInt(text);
}
catch (NumberFormatException nfe)
{
   //Fehlermeldung ausgeben
}
[/code]
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben