Linie zeichnen

könnt ihr mir dabei helfen ich darf keine math.abs oder so benutzen

* Draws a horizontal line from (xStart, y) to (xEnd, y) (both end points included), using the character c.
* If xEnd is less than xStart, then this function does nothing.
* If the line starts or ends outside the plottingArea, then this function only plots the part laying inside the canvas.
*
* @param xStart x coordinate of start point of line.
* @param xEnd x coordinate of end point of line
* @param y y coordinate of line
* @param c character to draw the line with
*/
public static void plotHorizontalLine(int xStart, int xEnd, int y, char c)
 
ach ja und er will das ich disem code benutzen muss aber habe keine Ahnung wie und wo ich den Code da benutzen kann


public static boolean plotChar(int x, int y, char c) {
if ((x < 0 || x > plottingArea.length) || (y < 0 || y > plottingArea[x].length)) {
return false;
} else {
plottingArea [x][y] = c;
return true;
 
Fabian04088 hat gesagt.:
for (int i = 0; i < xEnd; i++)
ich konnte leider nur die for schleife schreiben was anderes kann ich mir nicht mehr denken :(
...
ach ja und er will das ich disem code benutzen muss aber habe keine Ahnung wie und wo ich den Code da benutzen kann
Die Methode plotChar zeichnet das durch c gegebene Zeichen an der mit x und y gegebenen Position des Zeichenbereichs, sofern der Punkt in diesem Bereich liegt. Die Methode kannst Du mit den entsprechenden Parametern aufrufen, um zu zeichnen.

Beschreib doch mal in Worten, was Du machen würdest.
 
vor die Länge der Linie musst ich halt die Punkte zeichnen und die zeichne ich mit der Funktion plotchar muss da in den Klammern halt noch die Koordinaten angeben Die x Koordinate ändert sich, die y nicht aber ich komm da halt irgendwie nicht weiter
 
aber ich komm da halt irgendwie nicht weiter
Wir sind ja schon dabei aber ein wenig Einsatz wirst Du schon bringen müssen :)

vor die Länge der Linie musst ich halt die Punkte zeichnen und die zeichne ich mit der Funktion plotchar muss da in den Klammern halt noch die Koordinaten angeben
Richtig, um an einem Punkt ein Zeichen zu zeichnen musst Du plotChar die Koordinaten und das Zeichen mitgeben.

Nehmen wir an, Du möchtest an stelle (x,y) ein '*' zeichnen, wie sähe der Code dazu aus?
 
puh das weiss ich eben nicht so ganz bin gerade seit 3 Wochen dran in Programmieren und kenne mich da nicht so gut aus wie ich anfangen kann :(
Wir sind ja schon dabei aber ein wenig Einsatz wirst Du schon bringen müssen :)


Richtig, um an einem Punkt ein Zeichen zu zeichnen musst Du plotChar die Koordinaten und das Zeichen mitgeben.

Nehmen wir an, Du möchtest an stelle (x,y) ein '*' zeichnen, wie sähe der Code dazu aus?
 
Eine Methode rufst Du auf, indem Du ihren Namen nennst und in Klammern die Parameter angibst. Eine Anweisung beendest Du mit einem Semikolon, d. h. um ein '*' an Position x, y zu zeichnen kannst Du (weil Dir Dein Lehrer die Methode gegeben hat), einfach schreiben: plotChar(x, y, '*');.

Andere Frage: was glaubst Du, macht der folgende Code?
Java:
int x = 5;
while (x < 10) {
    x++;
}
 
die schleife geht so lange weiter
Eine Methode rufst Du auf, indem Du ihren Namen nennst und in Klammern die Parameter angibst. Eine Anweisung beendest Du mit einem Semikolon, d. h. um ein '*' an Position x, y zu zeichnen kannst Du (weil Dir Dein Lehrer die Methode gegeben hat), einfach schreiben: plotChar(x, y, '*');.

Andere Frage: was glaubst Du, macht der folgende Code?
Java:
int x = 5;
while (x < 10) {
    x++;
}
die schleife geht so lange weiter bis x die 9 erreicht hat glaube ich mal


und danke noch mal :)
 
die schleife geht so lange weiter bis x die 9 erreicht hat glaube ich mal
Der Rumpf der Schleife wird wiederholt, so lange x < 10 gilt. D. h. der Rumpf wird bis inkl. x == 9 wiederholt. Die Schleife endet, wenn die Bedingung < 10 nicht mehr gilt, d. h. die Schleife endet (EDIT: in diesem konkreten Fall), wenn x == 10 gilt. Wenn Du willst, dass der Rumpf auch noch für die 10 ausgeführt wird, dann schreibst Du entweder x < 11 oder x <= 10.

OK, jetzt nimmst Du den Code und schreibst ihn um und zwar so, dass der Rumpf für jedes x zwischen xStart und xEnd (inkl.) ausgeführt wird.
 
Nein. Vergiss erstmal die for-Schleife, Du sollst erstmal nur meinen Code umformulieren, d. h.
Java:
int x = xStart;    // initialisiere x mit xStart
while(x <= xEnd){  // so lange x <= xEnd gilt, wiederhole den Block {
    x++;           //     erhöhe x um 1
}                  // } Ende des Blocks
hätte schon gereicht. Ich hab mal ein paar Kommentare eingefügt. Dein plotChar ist auch falsch, schau Dir mal Deinen dritten Parameter und meinen an.

Wenn Du jetzt nur diesen Code betrachtest: an welcher Stelle wäre es denn nun sinnvoll, das plotChar einzufügen?
 
Ja, nachdem Du wiederholt einen "Punkt" zeichnen willst, bietet sich die Schleife an. Aber wo in der Schleife wäre die richtige Stelle? Überleg Dir, was Schritt für Schritt abläuft.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben