[Java] return Liste!

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von fragl0r, 6. Januar 2009 .

Schlagworte:
  1. 6. Januar 2009
    return Liste!

    ich werd gleich verrückt... muss hier ne Aufgabe erledigen aber kann die Lösung einfach nicht finden.

    Die Aufgabe sieht wie folgt aus: Man soll ganzzahlige Zahlentripel finden die mit Pythagoras übereinstimmen. Also a² + b² = c².

    so, wenn man die ganzen Zahlentripel gefunden und in eine Liste eingetragen hat soll man sie wiedergeben.

    aber wie zum Teufel geht das mit return + ner liste! :angry::angry:

    Hoffe es kann mir schnell einer helfen.
    fragl0r

    Code:
    class BruteForce implements TripelFinder
    {
     /**
     * Findet Pythagoras-Tripel im Intervall [von, bis].
     * 
     * @param von
     * der Beginn des Intervalls, mindestens 1
     * @param bis
     * das Ende des Intervalls, mindestens von
     * @return eine Liste der gefundenen Pythagoras-Tripel
     */
     public List<Tripel> findeTripel(int von, int bis)
     {
     if (von < 1) throw new IllegalArgumentException(String.valueOf(von));
     if (bis < von) throw new IllegalArgumentException(String.valueOf(bis));
    
     // TODO neue Liste von Tripeln erstellen
     List<String> Tripel;
     Tripel = new ArrayList<String>();
     
     
     for (int a = von; a <= bis; ++a)
     {
     for (int b = von; b <= bis; ++b)
     {
     for (int c = von; c <= bis; ++c)
     {
     // TODO falls Pythagoras-Tripel gefunden:
     // neues Tripel erstellen und der Liste hinzufuegen
     
     if (((a*a)+(b*b)) == (c*c) || a <= b)
     {
     String d = (new Integer(a)).toString() + (new Integer(b)).toString() + (new Integer(c)).toString();
     Tripel.add(d);
     }
    
     }
     }
     }
    
     // TODO gefuellte Liste zurueckgeben
     return ???!!!?!?!?!
     }
    }
    
     
  2. 6. Januar 2009
    AW: return Liste!

    Der Rückgabewert deiner Funktion ist die List Triple
    ganz einfach.

    Änderungen hab ich in rot gemacht

    Hoffe das war der fehler. habs net getestet.

    Code:
    class BruteForce implements TripelFinder
    {
     /**
     * Findet Pythagoras-Tripel im Intervall [von, bis].
     * 
     * @param von
     * der Beginn des Intervalls, mindestens 1
     * @param bis
     * das Ende des Intervalls, mindestens von
     * @return eine Liste der gefundenen Pythagoras-Tripel
     */
     public List<[color=red]String[/color]> findeTripel(int von, int bis)
     {
     if (von < 1) throw new IllegalArgumentException(String.valueOf(von));
     if (bis < von) throw new IllegalArgumentException(String.valueOf(bis));
    
     // TODO neue Liste von Tripeln erstellen
     List<String> Tripel;
     Tripel = new ArrayList<String>();
     
     
     for (int a = von; a <= bis; ++a)
     {
     for (int b = von; b <= bis; ++b)
     {
     for (int c = von; c <= bis; ++c)
     {
     // TODO falls Pythagoras-Tripel gefunden:
     // neues Tripel erstellen und der Liste hinzufuegen
     
     if (((a*a)+(b*b)) == (c*c) || a <= b)
     {
     String d = (new Integer(a)).toString() + (new Integer(b)).toString() + (new Integer(c)).toString();
     Tripel.add(d);
     }
    
     }
     }
     }
    
     // TODO gefuellte Liste zurueckgeben
     return [color=red]Tripel;[/color]
     }
    }
    
     
  3. 6. Januar 2009
    AW: return Liste!

    Dazu kannst du das adden etwas einfacher machen, ohne Integer.toString und so.
    ((a*a)+(b*b)) == (c*c) || a <= b

    Das a <= b ist glaube ich nicht richtig.

    Bist du dir sicher das diese if-Abfrage richtig ist?

     
  4. 7. Januar 2009
    AW: return Liste!

    ich glaube auch nicht dass diese if abfrage richtig ist, da || ja oder bedeutet und daher die abfrage ja auch true werden kann wenn kein tripple vorhanden ist
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.