Umspeicherung in 2D arrays in Java?

...komplette Frage anzeigen

4 Antworten

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.

und wie speichert man das um ?

0

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

0

 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.

ah okey danke ich werde das mal so probieren

0
@naoommii

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.

0

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

Also soll man vom user ein 5×5 Bild einlesen u in einem 2d array speichern richtig?

ja genau

0

ja in java

0

soll ich es dir programmieren

0

Wenn du willst wäre das echt nett von dir 

0

OK mace ich

0
@naoommii

Auch wenn es nett sein mag. Ich nehme an, du möchtest es lernen. Wenn dir jemand die Aufgabe fertig präsentiert, ist der Lerneffekt nicht da.

0
@KnusperPudding

bevor ich das mit dem studium nicht schaffe lasse ich mir gerne helfen und dadurch, wenn ich den code durchlese kapier ich es ja auch

0
@naoommii

Mag sein, dass das angucken eines fertigen Ergebnisses dir zumindest ein bisschen weiter hilft. Aber auch nur dann, wenn du davon ausgehen kannst, dass es sich um die korrekte Lösung handelt.

Poste am besten deine Lösungsansätze, gerne auch mit Code. Damit kann man dich in möglichen Denkfehlern unterstützen und dir entsprechende Stellen eher nahe bringen. - Wenn du nicht weiter kommst, frag einfach.

0

Versuch das mal: import java.util.*; import java.io.*; public class Main { static char[][] picture = new char[5][5]; public static void main(String[] args) { Scanner input = new Scanner(System.in); picture[0] = input.nextLine().toCharArray(); picture[1] = input.nextLine().toCharArray(); picture[2] = input.nextLine().toCharArray(); picture[3] = input.nextLine().toCharArray(); picture[4] = input.nextLine().toCharArray(); System.out.println("\n\n\nMuster:\n\n"); for(int i = 0; i < 5; i++){ for(int j = 0; j < 5; j++){ System.out.print(picture[i][j]); } System.out.println(""); } } public static void sleep(int time){ try { Thread.sleep(time); } catch (InterruptedException e) {} } }

0
@hdhdhddedede

dankescjön aber bei mir funktioniert das programm nicht es wird als Fehlermeldung das eingezeigt:

java.lang.ArrayIndexOutOfBoundsException: 1
at Arrayumspeichern.main(Arrayumspeichern.java:15)

0

du musst mindestens 5 pro Zeile eingeben

0

Was möchtest Du wissen?