Diskussion:Pq-Formel mit Java

aus ZUM-Wiki, dem Wiki für Lehr- und Lerninhalte auf ZUM.de

Wechseln zu: Navigation, Suche

Hallo zusammen,

ich habe selbst ein solches Beispiel gebraucht und das aktive etwas umgebaut (Trennung von Berechnung und Texterstellung, Verwendung von StringBuilder zur Erstellung der Ergebnistexte). Die verschachtelte if Bedingung ist nun in der Funktion ergebnisText(...). Sieht noch jemand einen Fehler? Danke und Gruss --Axel Gruenhagen 10:55, 30. Aug. 2009 (UTC) <java> public class FormelberechnerNeu {

   public String berechnePQFormel(double pP, double pQ) {
       double pPhalbe = pP / 2;        
       double diskriminante = Math.pow(pPhalbe,2) - pQ;
       double x1 = 0;
       double x2 = 0;
       if (diskriminante >= 0) {
           double sqrtDiskriminante = Math.sqrt(diskriminante);
           x1 = -(pPhalbe) + sqrtDiskriminante;
           x2 = -(pPhalbe) - sqrtDiskriminante;
       }
       return ergebnisText(x1, x2, diskriminante);
   }
   private String ergebnisText(double x1, double x2, double diskriminante) {
       StringBuilder ergebnisText = new StringBuilder();
       if (diskriminante >= 0) {
           if (x1 == x2) {
               ergebnisText.append("Das Ergebnis ist L={");
               ergebnisText.append(x2);                
           } else {
               ergebnisText.append("Die Ergebnisse sind L={");
               ergebnisText.append(x1);
               ergebnisText.append(";");
               ergebnisText.append(x2);
           }
           ergebnisText.append("}");
       } else {
           ergebnisText.append("Keine Lösung, die Diskriminante ist ");
           ergebnisText.append(diskriminante);
           
       }
       return ergebnisText.toString();
   }

} </java>