durchlaufen einer methode zählen

Status
Nicht offen für weitere Antworten.
K

kev003

Gast
guten tag,

ich habe mal wieder eine frage. :oops: diesmal geht es eigentlich um eine einfache angelegenheit. ich ärgere mich selber, dass es nicht klappt, weil es eigentlich echt einfach ist. ich möchte das durchlaufen einer methode in einer klasse zählen und dann im "hauptprogramm" ausgeben. leider zählt er nicht, sondern gibt immer s = 0 aus.

hier die klasse:
Code:
public class RandomTurtle extends PathTurnTurtle
{   
    // attention: an own class PathTurnTurtle (an extension of
    // class TurnTurtle must exist (see TA 3.1) !! 
    // instance of class Random
    Random dice = new Random();
	int s;
    /** constructor
     *  @param screen: screen of the turtle
     */
    public RandomTurtle(TurtleScreen screen)
    {
	super(screen);
    }
    
    /** distance between turtle and starting point 
     *  @param startx:  x coordinate of starting point
     *  @param starty:  y coordinate of starting point
     *  @return: compute the distance between turtle and 
     *  starting point; return the value
     */ 
    public double distance(int startx, int starty)
    {
	return Math.sqrt(( getX() - startx ) * ( getX() - startx ) +
			 ( getY() - starty ) * ( getY() - starty ));
    }

    /** random turtle turn 
     *  @param left:  left border of sector for random turns
     *  @param right: right border of sector for random turns
     */
    public void randomturn(double left, double right)
    {
		double angle = ((right + left) * dice.nextDouble() - left);
       super.rt(angle);
    }
	
	

    /**  move the turtle forward after a random turn
     *  @param left:  turtle turns to left side random max. degrees 
     *  @param right: turtle turns to right side random max. degrees 
     *  @param length: lenght of turtle step
     */
    public void randomstep(double left, double right, double length)
    {
		s = 0;
       randomturn(left, right);
       fd(50 * dice.nextDouble() );
	   s++;
    }
	
	public int gets()
	{
	return s;
	}
	
	public void resets()
	{
	s = 0;
	}
}


und hier soll es ausgegeben werde (hauptprogramm):
Code:
 Std.out.println("sooft wurde die methode durchlaufen " + t.gets() );

ich hoffe jemand hat einen tipp, glaube nämlich der ansatz geht in die richtige richtung.... :bahnhof:
danke schonmal im vorraus!
 
K

kev003

Gast
danke für die schnellen antworten, leider gibt er weiterhin "0" aus... ???:L
 
K

kev003

Gast
ja, im hauptprogramm, aber als letztes:
Code:
 Std.out.println("Eine integer variable aus RandomTurtle: " + t.gets() );
	   Std.out.println("durchlaufener winkel:" + t.getTotalAngle() ); 
	   Std.out.println("zurückgelegter weg:" + t.getTotalPath() );   
	   t.resetAngle();
	   t.resetPath();
	   t.resets();
 
K

kev003

Gast
hm, komisch...

hier nochmal die klasse:
Code:
public class RandomTurtle extends PathTurnTurtle
{   
    // attention: an own class PathTurnTurtle (an extension of
    // class TurnTurtle must exist (see TA 3.1) !! 
    // instance of class Random
    Random dice = new Random();
	int s;
    /** constructor
     *  @param screen: screen of the turtle
     */
    public RandomTurtle(TurtleScreen screen)
    {
	super(screen);
    }
    
    /** distance between turtle and starting point 
     *  @param startx:  x coordinate of starting point
     *  @param starty:  y coordinate of starting point
     *  @return: compute the distance between turtle and 
     *  starting point; return the value
     */ 
    public double distance(int startx, int starty)
    {
	return Math.sqrt(( getX() - startx ) * ( getX() - startx ) +
			 ( getY() - starty ) * ( getY() - starty ));
    }

    /** random turtle turn 
     *  @param left:  left border of sector for random turns
     *  @param right: right border of sector for random turns
     */
    public void randomturn(double left, double right)
    {
		double angle = ((right + left) * dice.nextDouble() - left);
       super.rt(angle);
    }
	
	

    /**  move the turtle forward after a random turn
     *  @param left:  turtle turns to left side random max. degrees 
     *  @param right: turtle turns to right side random max. degrees 
     *  @param length: lenght of turtle step
     */
    public void randomstep(double left, double right, double length)
    {
       randomturn(left, right);
       fd(50 * dice.nextDouble() );
	   s++;
    }
	
	public int gets()
	{
	return s;
	}
	
	public void resets()
	{
	s = 0;
	}
}


und hier das hauptprogramm:
Code:
public class Example33parameter
{
   static final int FOOD_X   = 300;  // x coordinate: food
   static final int FOOD_Y   = 275;  // y coordinate: food
   static final int START_X  = 400;  // x coordinate: turtle start
   static final int START_Y  = 400;  // y coordinate: turtle start
   static final int LEFT     = 180;  // left border of sector for 
                                     // random turtle turns
   static final int RIGHT    = 180;  // right border of sector for 
                                     // random turtle turns
   static final int LENGTH   = 20;   // length of turtle step
   static final int FOODAREA = 1;    // zone of capture

   /** mark the food coordinates (the SmellTurtle draws a red cross)  
    *  @param x: x coordiante of food
    *  @param y: y coordinate of food
    */
   public static void markFoodpos(double x, double y, SmellTurtle t)
   {
      t.setpc(Color.red);
      t.setPosition(x,y);
      t.pd(); t.fd(5); t.bk(10); t.fd(5);
      t.rt(90); t.fd(5); t.bk(10); t.pu();
   }

   /** the SmellTurtle searches the food
    *  @return: returns true if food is found
    */
   public static boolean smellwalk(SmellTurtle t)
   {

      double dist = 0;
      t.pd();
      do 
      {
         dist = t.smellStep(FOOD_X, FOOD_Y, LEFT, RIGHT, LENGTH, dist);
		       }
      while ( dist > FOODAREA );
      return true;
   }

   public static void main(String[] args)
   {
   
      TurtleScreen ts = new TurtleScreen(50,50,600,600);
      SmellTurtle  t  = new SmellTurtle( ts );
	  
	  Std.out.println("weg:" + t.getTotalPath() );  
	  Std.out.println("winkel:" + t.getTotalAngle() );  
      markFoodpos(FOOD_X,FOOD_Y,t);
      t.setpc(Color.blue);
      t.setPosition(START_X,START_Y);
      if ( smellwalk(t) ) Std.out.println("the food is found");
	  Std.out.println("Eine integer variable aus RandomTurtle: " + t.gets() );
	  Std.out.println("Zahl der Schritte: " + t.getTotalPath()/25 );
	   Std.out.println("durchlaufener winkel:" + t.getTotalAngle() ); 
	   Std.out.println("zurückgelegter weg:" + t.getTotalPath() );   
	   t.resetAngle();
	   t.resetPath();
	   t.resets();
   }
}

wenn der fehler auch hier nicht ersichtlich ist, hat jemand vielleicht eine andere idee?
ziel ist es die "schritte" der turtle auszugeben...
vielen dank!
 
K

kev003

Gast
stimmt!
smell turtle ist eine weitere klasse. soll ich für die randomturtle klasse dann auch eine variable bestimmen, oder muss ich eine methode au smell turtle nehmen und die zählen...?
 
K

kev003

Gast
randomturtle ist die klasse, die beschreibt wie sich die turtle (zufällig) bewegt. vielleicht mal konkreter, was muss ich eingeben um auf gets() aus randomturtle zugreifen zu können, im hauptprogramm?
vielen dank für die schnelle hilfe
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Objekt-Arrays mit einer Schleife durchlaufen/ausgeben Java Basics - Anfänger-Themen 2
M Variablen einer Klasse zu durchlaufen möglich? Java Basics - Anfänger-Themen 5
Bugs Bunny Fehlerhafte Berechnung beim erneuten Durchlaufen der Schleife Java Basics - Anfänger-Themen 5
1 Array rekursiv durchlaufen Java Basics - Anfänger-Themen 8
Cassy3 Binäre Bäume Rekursiv durchlaufen und bestimmte Elemente Zählen Java Basics - Anfänger-Themen 6
K Erste Schritte Wie schnell ist LinkedHashMap im Vergleich zur ArrayList, wenn alle Entries durchlaufen werden? Java Basics - Anfänger-Themen 47
TimoN11 Array -> Schleife wieder von vorne durchlaufen lassen Java Basics - Anfänger-Themen 1
E Timer trotz erwartender Eingabe durchlaufen lassen Java Basics - Anfänger-Themen 11
E Baum pfadweise durchlaufen Java Basics - Anfänger-Themen 11
S Array X-mal durchlaufen und dann N-mal durchlaufen Java Basics - Anfänger-Themen 20
W Eigener Iterator soll mehrdimensionales Array durchlaufen Java Basics - Anfänger-Themen 4
B Klassen Alle Unter-Objekte durchlaufen in der Hauptklasse Java Basics - Anfänger-Themen 10
I Methoden Schleife immer wieder durchlaufen lassen Java Basics - Anfänger-Themen 15
S Rekursives Durchlaufen eines Verzeichnisses - AccessDeniedException behandeln Java Basics - Anfänger-Themen 1
B Durchlaufen von Hashmap und Arraylist Java Basics - Anfänger-Themen 8
B OOP Liste durchlaufen Java Basics - Anfänger-Themen 12
G Mehrere If-else-Sätze der Reihe nach durchlaufen lassen Java Basics - Anfänger-Themen 2
C Laufzeitverhalten beim zeilenweise durchlaufen eines 2 dimensional array Java Basics - Anfänger-Themen 6
W If_Bedingung in statischer Methode beim zweiten Mal nicht durchlaufen Java Basics - Anfänger-Themen 14
L Klassen nacheinander durchlaufen? Java Basics - Anfänger-Themen 5
A do while Schleife wird 2 mal durchlaufen Java Basics - Anfänger-Themen 3
J Baum rekursiv durchlaufen Java Basics - Anfänger-Themen 2
K Stammbaum durchlaufen (Iteration etc) Java Basics - Anfänger-Themen 9
D HashMap Keys durchlaufen Java Basics - Anfänger-Themen 2
R Switch: Nach durchlaufen des Case wieder zum Menü Java Basics - Anfänger-Themen 3
S Methoden Return Anweisung beendet Methode nicht, stattdessen wird diese zweimal durchlaufen Java Basics - Anfänger-Themen 3
A Array wird nicht durchlaufen Java Basics - Anfänger-Themen 10
A Treeset per For-Schleife durchlaufen Java Basics - Anfänger-Themen 2
K Objektbaum durchlaufen Java Basics - Anfänger-Themen 7
S Erfahrungswerte von schnelles durchlaufen von Listen mit 2 Werten Java Basics - Anfänger-Themen 10
A Datentypen Iterator von hinten nach vorne durchlaufen Java Basics - Anfänger-Themen 4
M Zweidimensionales Array durchlaufen Java Basics - Anfänger-Themen 4
C dynamische JTextFields durchlaufen Java Basics - Anfänger-Themen 5
J äußere for schleife wird nur einmal durchlaufen Java Basics - Anfänger-Themen 8
T Datentypen Verschachtelte Map durchlaufen Java Basics - Anfänger-Themen 4
N Map Durchlaufen Java Basics - Anfänger-Themen 20
R Fehler in Rekursion (Unterordner durchlaufen) Java Basics - Anfänger-Themen 2
J Problem Arraylist durchlaufen Java Basics - Anfänger-Themen 7
K methode wird nur einmal korrekt durchlaufen Java Basics - Anfänger-Themen 4
B Array durchlaufen und sortieren Java Basics - Anfänger-Themen 9
N HashMap mit Iterator durchlaufen Java Basics - Anfänger-Themen 11
P Klassen-konstanten durchlaufen Java Basics - Anfänger-Themen 9
M Durchlaufen von Sets Java Basics - Anfänger-Themen 11
H Monat durchlaufen Java Basics - Anfänger-Themen 2
W Textfiles durchlaufen Java Basics - Anfänger-Themen 11
M Durchlaufen eines Verzeichnisbaums Java Basics - Anfänger-Themen 5
G Rekursion mit Return - Baum durchlaufen Java Basics - Anfänger-Themen 4
F Objektnamen mit Schleife durchlaufen. Java Basics - Anfänger-Themen 10
G [Threads]: Mit mehreren Threads 1 ArrayList durchlaufen Java Basics - Anfänger-Themen 19
G HashMap durchlaufen und alle keys mit values ausgeben Java Basics - Anfänger-Themen 4
K 2D Array spaltenweise durchlaufen Java Basics - Anfänger-Themen 4
G Baumstruktur rekursiv durchlaufen Java Basics - Anfänger-Themen 2
M Textfile durchlaufen und ersetzen Java Basics - Anfänger-Themen 2
M textboxen mit schleife durchlaufen. Java Basics - Anfänger-Themen 5
G Alle Componente eines JFrame durchlaufen Java Basics - Anfänger-Themen 3
P Schleife wird falsch durchlaufen!? Java Basics - Anfänger-Themen 3
H HashMap durchlaufen Java Basics - Anfänger-Themen 4
M Verzeichnisse rekursiv durchlaufen und dann RegEx Java Basics - Anfänger-Themen 6
J Durchlaufen von Vektoren Java Basics - Anfänger-Themen 14
G Array mit Schleife durchlaufen - guter Stil? Java Basics - Anfänger-Themen 20
M for-Schleife und Variablen automatisch durchlaufen Java Basics - Anfänger-Themen 2
W Baum durchlaufen Java Basics - Anfänger-Themen 3
M String mit For Each durchlaufen Java Basics - Anfänger-Themen 4
E liste rekursiv durchlaufen? Java Basics - Anfänger-Themen 3
S NameValuePair durchlaufen Java Basics - Anfänger-Themen 4
D Verzeichnisse rekursiv durchlaufen Java Basics - Anfänger-Themen 3
M HashMap durchlaufen: Was stimmt nicht? Java Basics - Anfänger-Themen 7
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
ixChronos Letzten 4 Ziffern einer großen Zahl ausgeben Java Basics - Anfänger-Themen 3
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
L Variablenwerte aus einer Methode übergeben Java Basics - Anfänger-Themen 2
E Arrays in einer ArrayList miteinander vergleichen Java Basics - Anfänger-Themen 12
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
D remove Object von einer Liste von Obejcts Java Basics - Anfänger-Themen 3
FunkyPhil94 Wert in einer Lambda Funktion erhöhen Java Basics - Anfänger-Themen 3
T Aufruf der Methode einer Oberklasse, wenn sie in der Unterklasse überschrieben ist. Polymorphie. Java Basics - Anfänger-Themen 2
B Kommunikation mit Seriellen Schnittstellen + Integration einer lib Java Basics - Anfänger-Themen 1
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
D Länge einer Liste aufrufen. Java Basics - Anfänger-Themen 19
J Klassen Instanzen einer Klasse in einer anderen unabhängigen Klasse nutzen Java Basics - Anfänger-Themen 4
B Alle Strings bis zu einer Maimallänge aufzählen, die Bedingung erfüllen Java Basics - Anfänger-Themen 13
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
T Fibonacci mit einer Hilfsmethode berechnen Java Basics - Anfänger-Themen 10
S Hilfe zu einer Aufgabe Java Basics - Anfänger-Themen 5
M Radius von einer ellipse bestimmen Java Basics - Anfänger-Themen 7
Say Fehlenden Code finden in einer while-Schleife? Java Basics - Anfänger-Themen 11
M Zufallszahl generieren mit einer linken und rechten Grenze Java Basics - Anfänger-Themen 3
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
W Objekte einer ArrayList in txt-datei schreiben mit Paths? Java Basics - Anfänger-Themen 2
S Best Practice Fragen zu Projektstruktur einer Datenbank-Abfrage-App (MVC) Java Basics - Anfänger-Themen 13
T Variable von Objekten in einer Methode überprüfen Java Basics - Anfänger-Themen 26
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
S Textausgabe in einer For-Schleife Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben