K
kev003
Gast
guten tag,
ich habe mal wieder eine frage.
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:
und hier soll es ausgegeben werde (hauptprogramm):
ich hoffe jemand hat einen tipp, glaube nämlich der ansatz geht in die richtige richtung.... :bahnhof:
danke schonmal im vorraus!
ich habe mal wieder eine frage.
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!