Lösung5-1
Aufgabe5_1Loesung.java
—
Java source code,
2 KB (2407 bytes)
Dateiinhalt
public class Aufgabe5_1Loesung { /* * Dreicke aus Sternchen drucken. * * Wir stellen hier 4 verschiedene Varianten zur Lösung der Aufgabe vor, * es gibt sicherlich noch einige mehr. * * Die Varianten werden zunehmend eleganter, zum Erhalt der vollen Punktzahl * ist die Eleganz jedoch unerheblich. * * Wichtiger ist, das Ihr Programm richtig funktioniert, * insbesondere in Sonderfällen der Größen 0, 1, 2 und 3. */ public static void main(String[] args) { // System.out.println("Wie groß soll Ihr Baum sein? "); int baumgroesse = Input.readInt(); System.out.println(); // 1. Variante, 2*2 Schleifen für aufsteigende und absteigende Folge System.out.println("(Variante 1)"); for (int i = 1; i <= baumgroesse; i++) { for (int j = baumgroesse - i; j < baumgroesse; j++) { System.out.print("*"); } System.out.println(); } for (int i = 1; i < baumgroesse; i++) { for (int j = i; j < baumgroesse; j++) { System.out.print("*"); } System.out.println(); } // 2. Variante, 3 Schleifen plus If-Abfrage System.out.println("(Variante 2)"); for (int i = 1 - baumgroesse; i < baumgroesse; i++) { if (i < 0) { for (int j = -i; j < baumgroesse; j++) { System.out.print("*"); } } else { for (int j = i; j < baumgroesse; j++) { System.out.print("*"); } } System.out.println(); } // 3. Variante, 2 Schleifen plus If-Abfrage System.out.println("(Variante 3)"); for (int i = 1 - baumgroesse; i < baumgroesse; i++) { int j = i; if (j < 0) { j *= -1; } for (; j < baumgroesse; j++) { System.out.print("*"); } System.out.println(); } // 4. Variante, nur 2 Schleifen und etwas umständlicher Berechnung System.out.println("(Variante 4)"); for (int i = 1; i < 2 * baumgroesse; i++) { for (int j = 0; j < i - 2 * (i - baumgroesse) * (i / baumgroesse); j++) { System.out.print("*"); } System.out.println(); } /* * 5. Variante, 2 Schleifen plus UNERLAUBTER Betrag-Funktion, * als Beispiel wie man es üblicherweise implementieren würde. * (Verwendet in der Aufgabe unerlaubte Bibliotheksfunktion für Betrag!) */ System.out.println("(Variante 5)"); for (int i = 1 - baumgroesse; i < baumgroesse; i++) { for (int j = Math.abs(i); j < baumgroesse; j++) { System.out.print("*"); } System.out.println(); } } }
Artikelaktionen