www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Algorithmen und Datenstrukturen" - Würfelfarben
Würfelfarben < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Würfelfarben: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 11:08 Fr 21.12.2012
Autor: Blerg

Aufgabe
Aufgabe 2 W¨urfeln (5 Punkte)
Realisieren Sie ein Programm in der Programmiersprache Java, dass eine positive ganze Zahl n  0 vom
Bildschirm einliest. Diese Zahl beschreibt eine Anzahl von gleichenW¨urfeln mit drei Seiten: Gr¨un, Blau und
Rot. Geben Sie nun alle m¨oglichen Kombinationen der W¨urfel am Bildschirm aus, wobei die Reihenfolge
eine Rolle spielt. F¨ur zwei W¨urfel ergibt sich beispielsweise: Gr¨un Gr¨un, Gr¨un Blau, Gr¨un Rot, Blau Gr¨un,
Blau Blau, Blau Rot, Rot Gr¨un, Rot Blau, Rot Rot. Zus¨atzlich soll auch die Anzahl der Kombinationen
bestimmt und am Bildschirm ausgegeben werden. Setzen Sie ihr Programm dabei mit Hilfe einer rekursiven
Methode um.

Hallo,
also hier hab ich mal meinen Quelltext zur Aufgabe.
(Sollen mit Java programmieren).
Der Fehler tritt in der return-Zeile auf.
Weiß vllt jemand woran das liegt?

public class A8A2 {
  
  public static String gruen(double x) {
    --x;
    if (x == -1) {
      return "0";
    } if (x == 0) {
      return "Grün  ";
    }  
    else {
      return gruen(Math.pow(3.0,x));
    }
  }
  
  public static String blau(double x) {
    --x;
    if (x == -1) {
      return "0";
    } if (x == 0) {
      return "Blau  ";
    }  
    else {
      return gruen(Math.pow(3.0,x));
    }
  }
  
  public static String rot(double x) {
    --x;
    if (x == -1) {
      return "0";
    } if (x == 0) {
      return "Rot  ";
    }  
    else {
      return gruen(Math.pow(3.0,x));
    }
  }
  
  
  public static void main(String[] args) {
    int x, y;
    Out.println("Bitte geben Sie die Anzahl der Würfel ein: ");
    x = In.readInt();
    while (x>0) {
      Out.print (gruen(x));
      Out.print (blau(x));
      Out.print (rot(x));
      Out.println("");
      --x;
    } // end of while
    
  }
  
}

        
Bezug
Würfelfarben: Antwort
Status: (Antwort) fertig Status 
Datum: 17:42 Fr 21.12.2012
Autor: link963

Hallo.

Ich kann dein Programm zwar gerade nicht ganz nachvollziehen, aber deine rekursive Methode kommt nie zum Ende für n > 1.

Zum Bespiel für n = 2. Steht dann return [mm] gruen(3^{1}). [/mm] Das schaukelt sich dann immer weiter hoch, bis dein Compiler mit einer StackOverFlow Exception abbricht.

Liebe Grüße
link963

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]