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

Ich verstehe leider nicht was das Ziel ist. das if (Eingabe == [30] bzw. [20]) funktioniert nicht. Also, was ist dein Ziel (soll jetzt nicht beleidigend klingen, jedoch verstehe ich nicht, was du machen willst)?

...zur Antwort

scheint als würde dein Betriebssystem nicht mehr erkannt werden. was hast du vor dem Neustart gemacht? irgendwas, was dein System ggf gefährden könnte?

...zur Antwort

Ich weiß nicht... Hängt davon ab. Für einen besonders leichten Einstieg würde ich dir sowas wie Python/JS empfehlen, Sprachen, die halt vieles für dich übernehmen.

Bei C ist das ganze etwas anders. Pointers und Memory Management müssen von dir alleine übernommen werden. Das macht die Sprache zwar sehr schnell, jedoch wird es dann schwieriger bei der Programmierung. Wenn du etwas zwischen python und C haben willst, ist wahrscheinlich C# oder Java besser. Beide von diesen Sprachen sind sehr mächtig mit riesigen Bibliotheken für ein relativ gutes Programmiererlebnis.

Was du auch wissen solltest, ist, dass C nicht Objektorientiert ist. Viele der heutigen Sprachen basieren auf der Objektorientierung (falls du nicht weißt, was objektorientierte Programmierung ist, google mal nach.), welche aber nicht bei C präsent ist. C++ ist zum Beispiel eine Sprache, die Objektorientiert ist, aber gleichzeitig die gleichen Eigenschaften wie C besitzt. Demnach würde ich eher mit C++ anfangen, anstatt C zu lernen, um dann erst die objektorientierte Programmierung kennenzulernen. Aber für einen Einstieg weiß ich nicht, ob C++ das beste wäre.

Aber lass dich nicht von mir oder anderen beraten. Recherchiere mal selber ein bisschen.

...zur Antwort