Aufgabe 3.4 Caesar

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.

Aufgabe 3.4 Caesar
Habe folgendes Problem: Während der Codierung der einzelnen Charakters werden diese in einen Charakter-Array gespeichert, die Funktion verlangt allerdings nen String als Rückgabewert. Wie kann ich nen Charakter-Array einfach in nen String umwandeln bzw wie schreibe ich die einzelnen Charakters direkt in nen String?


javadoc: Klasse String


Java? Schau doch mal in die API!
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#String(char[])


Danke für den Link, Programm läuft jetzt einwandfrei. Ich hab nochmal in der Angabe nachgelesen, da steht, dass man für die Konvertierung (von Gross- zu Kleinbuchstaben mMn) keine Bibliothekfunktion verwenden darf. Ich nehme an, dass ich keine Probleme bekomme, wenn ich für die Konvertierung von dem Char-Array in nen String die Funktion da nutze, oder?


Wenn es nur ums Ausgeben des modifizierten char-Arrays geht, dann kannst du es auch gleich ausgeben lassen, ohne es vorher wieder explizit in einen String zu verwandeln.
Also so:

char[] foo = ....;
System.out.println(foo);

Ansonsten wüsste ich aber nicht, wie man aus einem char-Array einen String erzeugen will, ohne den Bibliotheks-Konstruktor zu verwenden :wink:


mit + konkatenieren


In der Angabe steht drin, dass die Methode einen String liefern soll, ansonsten hätte ich es mit System.out.print gemacht


hab noch ne andere frage dazu… war leider net in der übung, aber mir ist folgendes aufgefallen:

“Lesen Sie den Schlüssel als int Variable als zweiten Kommandozeilenparameter ein.”

Verstehe ich das richtig, dass args[1] ausgelesen werden soll und nicht args[0] ???


Hat mich auch etwas gewundert, ich vermute aber, dass das nur ein Fehler im Text ist. Denn im Beispiel wird ja auch nur ein Argument, also args[0], übergeben…


ihr wisst doch worauf sie raus wollen. Wenn sowas wie “als zweiten Kommandozeilenparameter” in ner aufgabenstellung steht, is das in der Regel nur ein Hinweis für Anfänger.
probiert sowas doch einfach selbst aus in eclipse oder sonst wo. Einfach mal komplett über args[] laufen und sich die elemente mit ihrem passenden index ausgeben lassen, dann wisst ihr ob Java ebenso wie C++ als args[0] erstmal den programmnamen selbst hat, also z.b. “./a.out” und dann erst ab index 1 die parameter selbst oder obs java anders macht. Ich weiß das jetz nich auswendig… :slight_smile:


@ichbinder

das ist ja die sache… der erste parameter wäre args[0] und nicht der programmname selbst…

von daher weiß ich nicht, ob der Text einfach nur falsch geschrieben ist, oder ob das absicht ist…


wenns heißt der zweite parameter dann ist arg[1] gemeint, vllt wird ja als erstes argument was anderes übergeben?! jedenfalls isses in java so, dass kommandozeilenparameter bei args[0] (= der erste übergebene) anfängt


einfach nur falsch geschrieben - hab nachgefragt… nicht irritieren lassen und n args[0] draus machen :wink:


Für Profis[tm] in richtigen Programmiersprachen ist das halt der zweite, weil argv[0] da der Programmname selbst ist. Für Java-Programmierer gibts da halt Verständnisprobleme, wenn der Profi[tm] was schreibt. In Java gibts ja auch keine Binaries, was sollte da auch übergeben werden?


@domoson: danke für deine antwort!!
bis jetzt die einzigste antwort, die tatsächlich geholfen hat…

@rest: eure antworten sind für mein problem vollkommen nutzlos… das nächste mal einfach klappe halten, wenn ihr nicht genau wisst wonach ich auf der suche bin, und net einfach alle zulabbern mit details, die keinen interessieren…


nana, mal nich so pissed hier, sie haben alle nur versucht, dir zu helfen!


Tut uns Leid God of Coding, wir wollten dir nicht zu Nahe treten und dir nicht absichtlich einen Blick über den Tellerrand geben. Aber es sei dir versichert, bei zukünftigen Problemen und mit dieser Aussage werden wir dir nach bestem Wissen und Gewissen helfen. Am Montag werde ich auch gleich einen Verein „Exakte Frage erwartet exakte Lösung“ eintragen lassen. Und weil ich ein sehr zuvorkommender Mensch bin und von grundauf gutherzig bin werd ich dich persönlich als Vorstand auf Lebenszeit eintragen lassen. Flyer sind schon in Druck.


hehe witzig :slight_smile:


Der Kleine macht den Mund aber ganz schön weit auf… :wink: