Studium, Ausbildung und Beruf
 StudiumHome   FAQFAQ   RegelnRegeln   SuchenSuchen    RegistrierenRegistrieren   LoginLogin

Java Problem - return-Wert immer Null
Neues Thema eröffnen   Neue Antwort erstellen
Foren-Übersicht -> Informatik-Forum -> Java Problem - return-Wert immer Null
 
Autor Nachricht
snoopy23
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 11.06.2007
Beiträge: 23

BeitragVerfasst am: 17 Jun 2007 - 13:54:25    Titel: Java Problem - return-Wert immer Null

Hab ein Probelm in Java. Ich hab 2 Methoden

Code:

double determinate() throws IllegalStateException {
         if (zeilenZahl != spaltenZahl){
          throw new IllegalStateException("Matrix nicht Quadratisch");
         }
         if (zeilenZahl == 1){
          return m[0][0];
         }else {
          double res = 0.0;
          int f = -1;
         
          for (int i = 0; i < zeilenZahl; ++i) {
           f = f * -1;
           res = f * (m[i][0] * coMatrix(i,0).determinate()+res);
            System.out.println("Determi"+res);
         }     
         return res;
         }}


und

Code:

private Matrix coMatrix(int x, int y) {
      Matrix res = new Matrix(zeilenZahl-1, spaltenZahl-1);
      for(int i = 0; i < zeilenZahl-1; i++)
         for(int j = 0; j < spaltenZahl-1; j++)
            res.m[i][j] = m[i<x?i:i+1][j<y?j:j+1];
      System.out.println("RETRUN" +res);
      return res;
   }


Ich hätte gern den wert res von der coMatrix in determinante, leider bekomm ich immer nur den Wert Null zurück.

In der gleichen Klasse befindet sich auchnoch

Code:

public String toString(){
     
    return null;
   }


Mach ich den letzten Code weg, kommt leider garnichts gescheites mehr an. Der Code war teilweise vorgegeben.... weiß leider absolut nicht wo der Fehler ist...

Wäre für jeden Tipp dankbar, da ich mittlerweile schon recht lang dran sitze und nichtmehr weiter weiß...

MfG
sarc
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 21.09.2006
Beiträge: 2657

BeitragVerfasst am: 17 Jun 2007 - 16:33:32    Titel:

Das Problem ist, dass du bei jedem "System.out.println" die toString-Methode deiner Matrix aufrufst. Da in der nur null zurückgegeben wird, kriegst du auch diese unschöne Ausgabe. Ich würde also empfehlen, die toString-Methode vernünftig zu überschreiben. Irgendwie solltest du da die Matrix ausgeben können, zum Beispiel in der Form [(a11, a12, a13), (a21, a22, a23), (a31, a32, a33)]
snoopy23
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 11.06.2007
Beiträge: 23

BeitragVerfasst am: 17 Jun 2007 - 16:36:52    Titel:

naja, es geht ja nur indirekt um das system.out.... das sollte ja eigentlich nur ne kontrolle sein...

das problem ist eher das bei determinante net die richtigen werte ausgespuckt werden
sarc
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 21.09.2006
Beiträge: 2657

BeitragVerfasst am: 17 Jun 2007 - 17:02:02    Titel:

Um das kontollieren zu können, müsstest du aber wissen, was in res steht. Da dir die toString Methode hier immer null zurückliefert, kannst du nicht prüfen, ob da was vernünftiges drinsteht oder nicht. Entsprechend hast du auf diese Weise auch keine Chance, den Fehler auf eine der beiden Funktionen einzugrenzen.
Beiträge der letzten Zeit anzeigen:   
Foren-Übersicht -> Informatik-Forum -> Java Problem - return-Wert immer Null
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Chat :: Nachrichten:: Lexikon :: Bücher :: Impressum