Java Programm für Schule schreiben?
Ich soll für die Schule ein Java Programm schreiben, das 100 Sternchen (*) ausgibt, wobei jedes 5. durch ein Plus (+) ersetzt wird. Kann mir damit jemand helfen?
Danke!
7 Antworten
![](https://images.gutefrage.net/media/default/user/10_nmmslarge.png?v=1551279448000)
Das könntest du mit einer For-Schleife machen.
Oder du benutzt den "Anfänger" Weg mit System.out.println
![](https://images.gutefrage.net/media/user/Isendrak/1555747535308_nmmslarge__0_0_160_160_7f828fad18ee7edb96b8daceedaeeadb.png?v=1555747535000)
Der zweite Satz ergibt reichlich wenig Sinn...
Inwiefern soll System.out.println der "Anfänger"-Weg sein?
Oder anders gefragt: Wäre der "Profi"-Weg über JNI (oder vergleichbares) die jeweiligen plattformspezifischen Syscalls aufzurufen nur um etwas Text auszugeben? o.O
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
for(int i = 0; i < 20; i++) {
System.out.println("****+"); // pro Zeile wird ausgegeben ****+
}
Das sollte gehen.
sonst könntest Du auch stattdessen nutzen:
System.out.print("****+"); // hier wird alles in einer Zeile ausgegeben
Ist zumindst der einfachste Weg - ich werd jetzt hier keine hochkomplexen Modulo-Sachen einbauen, um intelligent zu wirken, für so ne einfache Sache
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
Was ist denn das bitte für nen Beitrag...
Java heißt nicht objektorientiert... Java ist ne Programmiersprache; objektorientiert, imperativ,... sind Stile, wobei der erste von Objekten, deren Vererbung usw. ausgeht und der andere eher in Ablaufbeschreibung mündet, jedoch auch in der Objektorientierung Anwendung findet... Also, wenn Du danach gehst, dass niemand mehr imperativ schreiben soll... hehe
![](https://images.gutefrage.net/media/user/ralphdieter/1444750340_nmmslarge.jpg?v=1444750340000)
Java ist ne Programmiersprache
Ach so! Mir kommt's immer so vor, als sei es eine Religion.
Was ist denn das bitte für nen Beitrag
Genau das dachte ich auch, als ich Deine Antwort las: Nur zwei Zeilen Code, die das Problem ohne Umschweife lösen? — Solche Antworten sind bei Java-Fragen extrem selten. Und wenn, dann werden sie sofort von OO-Experten und Groß-/Kleinschreibwächtern niedergemetzelt.
Eigentlich war mein Kommentar als Posse gedacht. Aber nach dem Absenden habe ich mich doch ernsthaft gefragt, ob so mancher fleißige Schüler tatsächlich einen riesigen Haufen Müllcode abgibt, der in einem 100-Zeilen-System.out.print()-Finale gipfelt. Ich befürchte, das passiert wirklich und wird mit voller Punktzahl honoriert...
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
Stimmt, das sind dann die Experten, die sich beim Spaghetti-Code die Augen zuhalten, weil man den Schülern beibringt Dinge so komplex zu gestalten, dass Du dann am Ende in der eigentlichen Software-Komplexität nicht mehr durchsiehst, auch weil zu viele Ebenen in der Programmierung sind und man alles in die Tiefe verschleift und verschachtelt. Mit Religion hab ichs hingegen nicht immer so... wegen interkultureller Belange seitens der Anderen oder meiner eigenen Leute - die haben immer ganz andere Erwartungen usw. :D, aber... kein Ding/ ist normal :D Glücklicherweise muss man beim Quellcode so gut wie nix auswendig aufsagen. Das ist ja das Coole.
![](https://images.gutefrage.net/media/user/Simon221585/1616525845236_nmmslarge__0_0_400_400_a7448469a17c2ce8ed07251058ff274b.jpg?v=1616525845000)
for(int i = 0; i < 100; i++) {
if(i != 0 && i % 5 == 0) {
if(i > 5) {
System.out.print("*");
}
System.out.print("+");
} else {
System.out.print("*");
}
}
fix
![](https://images.gutefrage.net/media/user/Kiboman/1707085588070_nmmslarge__0_0_1080_1080_6145e06401a4d56d7dfd2a6b5c0e7ff5.jpg?v=1707085588000)
So einfach?
Das ist sicher nicht Ziel seiner Aufgabe :))
Aber ich würde es probieren, rein aus Spaß.
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
Was willst Du für ein paar Sterne hinzaubern? Man kann's auch hyperkompliziert machen, aber ist das nötig? Softwareentwicklung zielt darauf ab Dinge so einfach wie möglich zu formulieren, komplex wird Software an sich mit der Zeit und dem Wachsen des Funktionsumfangs. Brauchst bloß bei github einige Sachen angucken - greifst Dir an den Kopf wie umständlich und unsortiert viele ihren Code schreiben. Da ist nicht die Funktion zum Teil komplex, sondern die umständliche Schreibweise. Sieht aus wie Chaos-Queens Vermächtnis da teils aus. Schlanker, übersichtlicher Code ist da besser. Alles andere ist Spaghetti-Fraß - solche Probleme haben heutige Softwareentwickler mit altem Code, weil das aussieht wie'n Krieggebiet und keiner sich da rantraut etwas zu erneuern.
![](https://images.gutefrage.net/media/user/Simon221585/1616525845236_nmmslarge__0_0_400_400_a7448469a17c2ce8ed07251058ff274b.jpg?v=1616525845000)
Ist einfach genug. Man kann auch gleich 5 Sterne und ein Plus in die Zeile schreiben, dann braucht man aber nicht programmieren. Dann hat man als Anfänger die Logik nicht verstanden und macht es sich so einfach wie möglich.
![](https://images.gutefrage.net/media/user/Simon221585/1616525845236_nmmslarge__0_0_400_400_a7448469a17c2ce8ed07251058ff274b.jpg?v=1616525845000)
Meinen Kommentar ignorieren, bin im Chat verrutscht!!!!
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
nicht programmieren, meinste so:
<p>****+****+****+****+****+****+****+****+****+****+</p>
?
![](https://images.gutefrage.net/media/user/Simon221585/1616525845236_nmmslarge__0_0_400_400_a7448469a17c2ce8ed07251058ff274b.jpg?v=1616525845000)
Wie gesagt meinen Kommentar ignorieren, wollte eigentlich auf meine eigene Antwort antworten!!!!!!
![](https://images.gutefrage.net/media/default/user/12_nmmslarge.png?v=1551279448000)
Da hast du Recht.
Die Aussage war von mir nicht ganz richtig.
Allerdings wo ich Java angefangen habe, hätte ich System.out.println verwenden, was für die Schule vielleicht besser wäre.
![](https://images.gutefrage.net/media/user/xxxcyberxxx/1691185806883_nmmslarge__0_0_1230_1230_4dfa4fbf5df5051b1dd22ccc1781adca.png?v=1691185807000)
ja, kann ich. Werd ich aber nicht - zumindest nicht so.
Hast du denn einen Ansatz, hast du schon Code?
Weißt du, wie du da dran gehen kannst?
![](https://images.gutefrage.net/media/user/Kiboman/1707085588070_nmmslarge__0_0_1080_1080_6145e06401a4d56d7dfd2a6b5c0e7ff5.jpg?v=1707085588000)
For schleife
i Modulo 5 == 0 Print "+"
und geht damit völlig an der Aufgabe vorbei! Da steht doch ausdrücklich Java-Programm, also objektorientiert: Sternchen und Plus kann man prima als Klassen mit gemeinsamem Interface implementieren. Und wie kannst Du nur 100 Zeichen ausgeben, ohne sie zuvor in einer ArrayList zu speichern?
Wie Du siehst, sind erst mal ein paar tausend Zeilen zu schreiben, bevor es dann endlich an den komplizierten algorithmischen Teil geht: