Frage von naoommii, 79

Umspeicherung in 2D arrays in Java?

Das hier ist die Aufagbe : Kann mir jemand evtl sagen ob man das in kurz irgendwie schreiben kann? weil mir würde jetzt spontan nur einfallen für jeden buchstaben die Sternchenkette einzeln zu machen .?

Einfache zweidimensionale Formen lassen sich mit Hilfe von zweidimensionalen Arrays der Größe n×n vom Typ char darstellen. Beispiel: Eine einfache ∗-Darstellung des Buchstaben F in einem 5×5 Array.

  • hier sollte in Sternchen der Buchstabe "F" gezeigt werden aber das wird hier nicht so gezeigt*

a) Schreiben Sie ein Java Programm das ein n einliest, ein n×n char Array A anlegt und ein 2D Bild vom Benutzer einliest und im Array abspeichert und ausgibt.

Antwort
von triopasi, 45

Du kannst dann n Eingaben machen die jeweils eine Reihe im Bild bedeutet. Diese soll aus * und Leerzeichen bestehen. Dann kannste den eingelesenen String stück für stück ims Array umspeichern.

Kommentar von naoommii ,

und wie speichert man das um ?

Kommentar von triopasi ,

Geht in Java meinString[0] um das 1. Zeichen zu bekommen? Ich glaube schon.

Expertenantwort
von KnusperPudding, Community-Experte für Java, 27

 Kann mir jemand evtl sagen ob man das in kurz irgendwie schreiben kann?

Es ist kurz möglich.

Arrays der Größe n×n vom Typ char darstellen. Beispiel: Eine einfache ∗-Darstellung des Buchstaben F in einem 5×5 Array.

Wie man eine 2D char array erstellt, mit fester größe, ist dir hoffentlich bekannt, oder?

char[][]  image = new char[5][5];

hier sollte in Sternchen der Buchstabe "F" gezeigt werden aber das wird hier nicht so gezeigt*

Demnach wäre davon auszugehen, dass das in etwa so auszusehen hat:

*****
*
***
*
*

Dann benötigst du eine Schleife, welche die erste Dimension(Zeilen) durchläuft und nimmst z.b. via Scanner einen String entgegen.

Pro Durchlauf solltest du sicher stellen, dass die Eingegebenen Zeichen nicht mehr als 5 enthalten.

Anschließend ergänzt du in der aktuellen Dimension die zweite Dimension: Die Zeichen, die du einliest. - Hierbei ist es ratsam die 2D Array aufzuteilen und als Sub-Array anzusprechen:

for (int i = 0; i < image.length; i++) {
 char[] subarray = image[i];
 
}

via String.toCharArray() wir des dir auch relativ leicht gemacht, die einzelnen chars in die Subarray zu schreiben.

Kommentar von naoommii ,

ah okey danke ich werde das mal so probieren

Kommentar von KnusperPudding ,

Ok, wie im anderen Kommentar bereits geschrieben:

Versuche es: Solltest du nicht weiter kommen, zeig uns deinen Ansatz, wie du es probiert hast und wir unterstützen dich.

Antwort
von MindShift, 58

Du könntest den Benutzer bei jedem einzelnen Pickel bestimmen lassen, ob es ein * oder leer sein soll.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten