Java Character nimmt keinen Int?
wenn ich aber charty[i] = 0; oder irgend ne andere zahl mache geht es, ich will die zahlen 0 bis 1 als character speichern, ohne String libraries sondern nur das was schon beim standard dabei ist und ohne den inhalt von for() zu verändern
geht auch nciht
hier
3 Antworten
Dann caste doch zu Character wenn es ohne Cast nicht geht.
Char hat bekanntlich einen viel kleineren Wertebereich als int. Daher wird hier nicht automatisch konvertiert, weil dadurch Werte verloren gehen könnten.
Also muss man das explizit mit einem Typecast erzwingen:
charty[i] = (char)i;
Das ist übrigens keine Java-Spezialität, das wirst du in jeder strikt typisierten Sprache erleben.
Nein, das ist falsch, denn das Schriftzeichen 0 steht nicht an erster Stelle. Im ASCII-Alphabet steht es erst an 48. Stelle, und man weiß ja nicht, ob unter dem Betriebssystem vielleicht EBCDIC statt ASCII verwendet wird. Du hast ihn missverstanden. Er will nicht den Wert i, sondern den Wert des Schriftzeichens, das die Ziffer i darstellt.
geht leider auch nicht, ich weiß schon dass man dafür funktionen von der string library nehmen kann, aber frage mich ob es auch ohne geht und ohne auch nur einen wert im ascii code zu kennen
ne geht nicht, wenn ich da ein character einsetzte kompiliert es normal
Deine Schleife iteriert nicht von 0 bis 1, sondern von 0 bis 4.
Wenn charty[i] die Zahl als Character speichern soll, versuch es mit
charty[i] = i + '0';
Also die 0 unbedingt zwischen Apostrophs (als Character).
geht auch nicht, da ist das wieder wegen dem falschen datentyp
Dann verrate uns doch mal das Geheimnis, wie Du charty[] deklariert hast.
steht im bild, char[] charty = new charty[5];
hatte ich schon gemacht, aber das ist ja nicht der wert für 0 als character der ist ja viel höher, ich will '0' und nicht das zeichen an stelle 0 im ascii code, weißt du wie das geht?