Ich weiß leider nicht, was die Frage ist. Jedoch kann ich dir bei der Verarbeitung einer Zahl zu einem Array helfen.

Sagen wir du liest den Integer 1234567 ein. Also:

int inp = 1234567;

diese kannst du dann in einen String umwandeln.

String str1 = Integer.toString(inp);

Mit der Methode "toCharArray()" kannst du nun dieses in ein char-Array umwandeln.

char[] arr = str1.toCharArray();

Und nun kannst du auf diese zugreifen:

for (char c : arr) {

System.out.println(c);

}

Das Problem ist nun, dass das char-Array nicht aus integers, sondern aus chars besteht. Das heißt, wenn du den output 1 hast, ist das nicht der Integer 1, sondern der char '1'

wenn du nun versuchst, z.B.

int a = '1';

einzugeben, wirst du nicht den Wert 1 gespeichert haben, sondern den ASCII-Wert des Characters '1'. Hierfür, werfe mal einen Blick in die ASCII-Tabelle: https://commons.wikimedia.org/wiki/File:ASCII-Table.svg

Dort wirst du sehen, dass der char '1' den Wert 49 hat. Der würde also in dem Integer gespeichert werden. Und wie kommen wir dann von 49 zur 1?

Ganz leicht: Wir subtrahieren 48 (welches die Nummer für den Character '0' ist).

also: int a = '1' - 48; // oder halt - '0'

dann initalisieren wir ein zweites Array mit der gleichen länge des ersten Arrays

int[] cpyArr = new int[arr.length]; // arr ist das Array mit den chars

und adaptieren die Werte mithilfe einer Schleife.

for (int i = 0; i < arr.length; i++) {

cpyArr[i] = arr[i] - 48; // oder wie eben gesagt, '0'

}

und wir sind fertig.

nun kannst du auf das Array zugreifen. z.B. so:

for (int i : cpyArr) {

System.out.println(i);

}

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.