Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
KlassenArray Zahlen zu Sternchen (U-Helmich 7.1-4)
Ich brauche Hilfe bei dieser aufgabe von U-Helmich.
"Experten-Übung 7.1-4
Für diese Experten-Übung sollten Sie die Zahl der Arrayelement von 100 auf 20 reduzieren und zusätzlich sollten Sie den Quelltext der Methode mitZufallszahlenBelegenso ändern, dass nur Zufallszahlen im Bereich zwischen 1 und 50 erzeugt werden.
Schreiben Sie dann eine manipulierende Methode
public void zeigeSterne()
welche die Werte der Arrayelemente als Reihe von Sternzeichen * anzeigt. Angenommen, das erste Arrayelement enthält die Zahl 17, das zweite Element die Zahl 30 und das dritte Element die Zahl 12. Dann müssen die drei ersten Zeilen, die von dieser Methode in die Konsole ausgegeben werden, so aussehen:
*****************
******************************
************
Ihre Konsole zeigt natürlich 20 Zeilen unterschiedlicher Länge an, da der Array jetzt aus 20 int-Zahlen besteht."
Ich finde die Lösung dazu nicht und auch sonst keine Hilfe zu dieser Aufgabe. Wie geht man sowas an?
Ich habe es mit For-Schleifen und Doppel-For-Schleifen probiert aber ich komme einfach nicht drauf.
Teile und herrsche. Wenn ein Problem zu groß ist, mach so lange kleinere Probleme daraus, bis Du diese lösen kannst.
zeigeSterne() lässt sich in zwei Probleme teilen:
1. Alle Elemente des Arrays behandeln
2. Für jedes Element eine bestimmte Anzahl an Sternchen ausgeben
Java:
void zeigeSterne(int[] arr) {
for (int wert : arr) {
zeigeNSterne(wert);
}
}
void zeigeNSterne(int n) {
// gib n Sternchen in einer Zeile aus
}
Ich bin von selbst auf die Lösung gekommen.
Danke an alle die versucht haben zu helfen!
Der Code lautet wie folgt:
Java:
public void zeigSterne()
{
for (int a=0;a<zahlen.length;a++)
//erste Schleife um die stelle am Array zu ändern
{
for (int i=0;i<zahlen[a];i++)
//zweite Schleife um Sternchen auszugeben
{
System.out.print("*");
}
System.out.print("\n");
}
}
Noch ein Hinweis: da Dich beim Iterieren durch das Array der Index selbst nicht interessiert - Du willst lediglich jeden Wert aus dem Array haben - kannst Du eine for-each-Schleife verwenden:
Java:
for (int zahl : zahlen) {
for (int i = 0; i < zahl; i++) {
System.out.print("*");
}
System.out.println();
}