Übungsblatt 2 - Fragen zur Aufgabe 2.2 Strings konvertieren

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Übungsblatt 2 - Fragen zur Aufgabe 2.2 Strings konvertieren
Wie soll man einen Integer mit führenden Nullen darstellen können?

Wenn ich in der main-Methode bei i = 0123 eingebe, dann wird es doch als “123” interpretiert


Ich weiß zwar nicht genau was du meinst, aber hast du es schon mit einem String versucht?


Achso, denk doch mal darüber nach wann du bei der Aufgabe überhaupt eine führende 0 haben kannst.


ich meine eigentlich die Teilaufgabe b)
wie soll da der kodierte Text mit “a” beginnen?
Soll ich zuerst den Integer in einen String umwandeln und dann wieder zurück?


Ich denke schon, dass man das so machen soll.
Die Länge des Textes ist als Konstante (hier: 4) vorgegeben, also ist die Anzahl von führenden "a"s berechenbar.


Der Testfall bei der Aufgabe ist ein bisschen ungeschicklich gewählt.

Auf der Kommandozeile wird folgendes ausgegeben. Die ‘a’ sind nullen, werden also “verschluckt”.

"aaec" = 402
1221 = "aamv"

Dem Integer muss man die fuehrenden Nullen nicht ansehen. Bei den Hinweis geht es um die zweistelligen Zahlen „in der Mitte“
aus 1 1 soll 101 werden (nicht 11).


sollte 1221 nicht eher „bccb“ ergeben?


1221 => 00 00 12 21 => aamv

Man kann natürlich auch bccb mit 1221 kodieren, aber dann können die Buchstaben ab j nicht dargestellt werden.


das ergibt natürlich Sinn… :nuts:

Danke!


“bccb” = 1020201

(Das ist in der Aufgabenstellung mit fuehrenden Nullen beschrieben.)


Also muss man den String sozusagen unterteilen in “zweier Grüppchen”.
Das kann man theoretisch mit substring() machen oder gibt es da einen einfacheren Weg?

Danke schonmal im Voraus!


Du hast ein [m]char[/m]-Array und keinen [m]String[/m]. Auf Elemente des [m]char[/m]-Arrays kannst du mit [m][?][/m] zugreifen, also wie auf Elemente von allen anderen Arrays auch.


Aber ich bekomme ja int i = 1221…
Ich muss ja irgendwie aus 1221 → 12 und 21 machen?
Damit ich die zu char casten kann?
Stehe irgendwie auf dem Schlauch…


Dazu benoetigst du alleine mathematische Operationen, kein [m]substring[/m].
Herauszufinden, wie das geht, ist Teil der Leistung, die du bei der Aufgabe erbringen sollst.


Hi,
ich sitze gerade auch an der o.g. Aufgabe; ist die Nutzung von substring denn grundsätzlich verboten? In der Angabe steht ja nichts, was dem entgegenspräche. Mein Code gibt soweit die korrekten Werte wieder, allerdings erscheint im EST trotzdem ein “!”. Die Implementierung von weiteren Methoden (in meinem Fall private static charToNumber(char c)) ist doch grundsätzlich erlaubt, oder?


Wenn da ein ! steht, ist dein Ergebnis mit 99.98% Wahrscheinlichkeit falsch. Nachdem das richtige Ergebnis in der [m]main[/m] nicht vorgegeben war - welche Ergebnisse hast du denn?


Wenn ich mich richtig erinnere, ist alles erlaubt, solange es keine Einschränkungen gibt. Diese werden ansonsten immer explizit hingeschrieben.
Lasse mich aber gerne eines Besseren belehren.


Ich zitiere mal direkt aus der Konsole raus:

"aaec" = 402
1221 = "mv  "

Das sollte soweit ja auch eigentlich stimmen - einen Fehler bringt das EST trotzdem.