Ich habe ein Java-Programm geschrieben und möchte, dass die Ausgabe nebeneinander ausgegeben wird?


02.01.2025, 12:23

Angabe

Kommt bei mir raus


02.01.2025, 13:06

So das ist jetzt was ich habe:

Die Schleife hört aber nicht auf


02.01.2025, 13:16

Ist die Ausgabe

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Du musst die Zeilenumbrüche ('\n') an die passenden Stellen packen und "print" statt "println" verwenden.

Wenn das nicht reicht müsstest du bitte einmal zeigen, wie deine Ausgabe aussieht und wie sie aussehen soll.


LUcA0001ue 
Beitragsersteller
 02.01.2025, 12:17

Ja hab schon ein Bild hinzugefügt von der Angabe

Destranix  02.01.2025, 12:27
@LUcA0001ue

Ich sehe die Angabe in deiner anderen Frage.

Du musst das anders angehen.

Erst würfelst du und sammelst die Ergebnisse. Dann berechnest du, wie viele Zeilen du brauchst. Dann erstellst du die einzelnen Zeilen.

Du gehst Zeile für Zeile durch. Schaust, ob eine Ziffer in der Zeile vertreten ist (oder nicht häufig genug vorkam und daher die Zeile leer ist).
Du berechnest wie viele Striche für die Ziffer in die zeile gehören und hängst diese an.

Hast du alle Ziffern durch beginnst du mit der nächsten Zeile.

In der Letzten Zeile schreibst du dann die Zusammenfassung.

Alternativ (aber wahrscheinlich nicht gewünscht) kannst du auch schauen, ob du mit der "Console"-Klasse oder einem Grafik-API arbeiten kannst. Das ist aber wahrscheinlich komplizierter.

LUcA0001ue 
Beitragsersteller
 02.01.2025, 12:30
@Destranix

Ok danke hört sich einfacher an und unseren Lehrern ist egal, wenn wir neue Sachen ausprobieren. Das wichtigste ist, dass das Programm funktioniert. Aber so ganz verstehe ich nicht was du meinst. Kannst du mir ein beispiel geben?

Destranix  02.01.2025, 12:31
@LUcA0001ue

Derzeit erstellst du die Ausgabe nach Ziffern getrennt. Du musst die Ausgabe aber nach Zeilen getrennt ausgeben.

LUcA0001ue 
Beitragsersteller
 02.01.2025, 12:54
@Destranix

bin gleich fertig damit, schicke gleich ein bild rein

Destranix  02.01.2025, 13:10
@LUcA0001ue

Siehst mir unnötig kompliziert aus.

Ich würde da ja Arrays verwenden, falls ihr die schon hattet.

Wie sieht die Ausgabe aus? Mit den Tabs geht das vielleicht gut, obwohl du bei leeren Einträgen (für einen Ziffer in einer Zeile) keine Füller hingepackt hast.

LUcA0001ue 
Beitragsersteller
 02.01.2025, 13:13
@Destranix

Wart kurz und wegen den Arrays gemacht haben wir die noch nicht aber vll kannst du mir das ja erklären

Destranix  02.01.2025, 13:14
@LUcA0001ue

Ne, geht auch so. Mit Array könntest du dir nur doppelten Code sparen und das Programm leichter erweitern.

Destranix  02.01.2025, 13:19
@LUcA0001ue

Okay, wie ich es mir dachte.

Erst einmal: Wenn deine Zeile für eine Ziffer leer bleibt bzw. nicht ganz gefüllt wird, dann musst du entsprechend viele Leerzeichen stattdessen einfügen, da sonst der Inhalt danach verrückt.

Ansonsten: Du musst die einzelnen Türme andersherum drehen laut Aufgabenstellung.
Dafür musst du entweder die Zeilen vertauschen oder dir Anfangs die maximale Zeilennummer holen und entsprechend die von da ab rechnen wie viele Striche hinkommen.

Zudem fehlt noch die Abschlusszeile.

LUcA0001ue 
Beitragsersteller
 02.01.2025, 13:23
@Destranix

Ok danke, ich fixe erstmals die anderen Sachen und dann mache ich es verkehrtrum

Würde den String passend zusammensetzen und dann nur ein mal Print aufrufen.

Manchmal eignet sich ein String Builder gut für solche Fälle, oder einfach so was wie String.format.

Einfach eine neue variable für die Ausgabe nutzen.

Mit \n fügst du einen Zeilenumbruch ein, println fügt am Ende immer einen Zeilenumbruch hinzu, das normale Print macht das nicht.

Wenn du das selber nicht hinbekommst, bekommt eine ki wie ChatGPT das locker hin.

Woher ich das weiß:Berufserfahrung – Software Entwickler

LUcA0001ue 
Beitragsersteller
 02.01.2025, 12:17

Danke