Servus,
habe zur Übung die Aufgabe aus einem Javabuch genommen, komme aber bei einem kleinem Punkt nicht weiter.
Aufgabe ist einfach die do-while und while-Schleifen einer Implementierung in for-Schleifen umzuändern. Bei der
Umänderung fehlt mir die rechte Seite des Rechtecks, die anderen drei Kanten bekomme ich genauso raus wie
bei der ersten Implementierung.
Implementierung(while/do-while-Version):
Mit for-Schleifen:
Bei der Erzeugung der Breite stimmt alles, doch wo platziere ich in dem Programmabschnitt die print-Anweisung mit dem Sternchen so, dass auf auf der rechten Seite die Kante erzeugt bekomme?
Ausgabe:
habe zur Übung die Aufgabe aus einem Javabuch genommen, komme aber bei einem kleinem Punkt nicht weiter.
Aufgabe ist einfach die do-while und while-Schleifen einer Implementierung in for-Schleifen umzuändern. Bei der
Umänderung fehlt mir die rechte Seite des Rechtecks, die anderen drei Kanten bekomme ich genauso raus wie
bei der ersten Implementierung.
Implementierung(while/do-while-Version):
Java:
public class RechteckZeichnen {
static final int HOEHE = 10;
static final int BREITE = 20;
public static void main(String[] args) {
int hoehe; // Zaehlvariable für die Hoehe
int breite; // Zaehlvariable für die Breite
breite = 0;
do {
System.out.print("*");
breite++;
} while (breite < BREITE);
System.out.println();
hoehe = 0;
while (hoehe < HOEHE - 2) {
System.out.print("*");
breite = 1;
do {
System.out.print(" ");
breite++;
} while (breite < BREITE - 1);
System.out.println("*");
hoehe++;
}
breite = 0;
while (breite < BREITE) {
System.out.print("*");
breite++;
}
System.out.println();
}
}
Mit for-Schleifen:
Java:
public class ForRechteckZeichnen {
static final int HOEHE = 10;
static final int BREITE = 20;
public static void main(String[] args) {
int hoehe; // Zaehlvariable für die Hoehe
int breite; // Zaehlvariable für die Breite
for (breite = 0; breite < BREITE; breite++) {
System.out.print("*");
}
System.out.println();
for (hoehe = 0; hoehe < HOEHE - 2; hoehe++) {
for (breite = 1; breite < BREITE - 1; breite++) {
System.out.print("");
}
System.out.println("*");
}
for (breite = 0; breite < BREITE; breite++) {
System.out.print("*");
}
System.out.println();
}
}
Bei der Erzeugung der Breite stimmt alles, doch wo platziere ich in dem Programmabschnitt die print-Anweisung mit dem Sternchen so, dass auf auf der rechten Seite die Kante erzeugt bekomme?
Java:
for (hoehe = 0; hoehe < HOEHE - 2; hoehe++) {
for (breite = 1; breite < BREITE - 1; breite++) {
System.out.print("");
}
System.out.println("*");
}
Ausgabe:
Java:
********************
*
*
*
*
*
*
*
*
********************
Zuletzt bearbeitet: