Kann mir jemand folgenden Code erklären?
Die stellen an denen ich Hilfe brauche sind markiert(### ... ###)!
import java.awt.*;
/**
* ### Klassenbeschreibung einfügen ###
*/
public class Igel
extends Canvas {
// Instanzvariablen:
int xa, ya, phi, xe, ye, dx, dy;
double b;
/**
* ### Methodenbeschreibung einfügen ###
*/
public Igel() {
xa = 300;
ya = 300;
phi = 0;
b = 0;
xe = 0;
ye = 0;
}
/**
* ### Methodenbeschreibung einfügen ###
*/
public void vor(int d) {
Graphics stift = getGraphics();
dx = (int)(d*Math.sin(b));
dy = (int)(d*Math.cos(b));
xe = xa + dx;
ye = ya - dy;
stift.drawLine(xa,ya,xe,ye);
xa = xe;
ya = ye;
}
/**
* ### Methodenbeschreibung einfügen ###
*/
public void rechts(int winkel) {
phi = phi + winkel;
b = 2*Math.PI*phi/360;
}
}
und der zweite Code lautet:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
/**
* ### Klassenbeschreibung einfügen ###
*/
public class BiBaum
extends Applet
implements ActionListener {
Igel igel;
Button knopf;
/**
* ### Methodenbeschreibung einfügen ###
*/
public BiBaum() {
igel = new Igel();
igel.setSize(600,400);
add(igel);
knopf = new Button("Zeichnen");
knopf.addActionListener(this);
add(knopf);
}
public void actionPerformed(ActionEvent e) {
zeichne(70);
}
/**
* ### Methodenbeschreibung einfügen ###
*/
public void zeichne(int laenge) {
/*
* Was bewirkt diese Bedingung?
*/
if(laenge > 2) {
igel.vor(laenge);
igel.rechts(90);
igel.vor(laenge);
igel.rechts(-90);
zeichne(laenge/2);
igel.rechts(90);
igel.vor(-2*laenge);
igel.rechts(-90);
zeichne(laenge/2);
igel.rechts(90);
igel.vor(laenge);
igel.rechts(-90);
igel.vor(-laenge);
}
}
}
und zu folgendem Code brauche ich das Ende
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
/**
* ### Klassenbeschreibung einfügen ###
*/
public class Sierpinski
extends Applet
implements ActionListener {
Igel igel;
Button knopf;
/**
* ### Methodenbeschreibung einfügen ###
* ### (wie bei BiBaum) ###
*/
public Sierpinski() {
igel = new Igel();
igel.setSize(600,400);
add(igel);
knopf = new Button("Zeichnen");
knopf.addActionListener(this);
add(knopf);
}
public void actionPerformed(ActionEvent e) {
zeichne(70);
}
/**
* ### Methodenbeschreibung einfügen ###
*/
public void zeichne(int l) {
// Hier fehlt der entscheidende Teil.
}
}
Wenn mir jemand helfen könnte auch wenn es nur zu einem der Probleme ist wäre ich sehr dankbar.
MfG und vielen Dank im voraus
P. Mainsen
Java Programmierung(kniffelige Aufgabe)
-
-
1. CODE-Tag benutzen, damit die Formatierung erhalten bleibt.
2. Eine Erklärung posten, was der Code machen soll, was die Methoden machen, und welchen Teil du nicht verstehst.
Editiere dazu dein Posting oder poste noch einmal.
EDIT:
So wie ich das verstehe wirst du kaum eine Erklärung abgeben, da du selber nicht mal weißt, was das Programm macht.
Drum:
Selbst verstehen. Stelle konkrete Fragen zu einzelnen Teilen, aber erwarte dir nicht, dass die Leute hier deine Arbeit machen, damit du keine Mühe mehr hast.
-
Irgendwie steht an den mit (### ... ###) markierten Stellen meistens "...beschreibung einfügen". Sorry, so hat man echt keine Ahnung, was du eigentlich willst.
-
Achso. Der Code ist vorgegeben, und P.Mainsen soll die erklärenden Kommentare schreiben. Dann ist 2. von JohnFoo eigentlich schon die ganze Aufgabe.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!