Hallo, wie gesagt ich habe ein Problem mit der Caesar-verschlüsselung:
Java:
publicclassTCaesar{publicTCaesar(){String ptext=" ";//Zu Entschlüsselnder Text&Eingabe erfolgt durch User int pkey;//Position des Alphabetbuchstabens+Schlüssel}publicvoidverschluesseln(String ptext,int pkey){String pbotschaft =" ";//Der entschlüsselte Textfor(int i =0; i<ptext.length()-1; i++){//Eine Schleife die so lange zählt, wie das Wort lang istint asciiWert=0;
asciiWert=(int) ptext.charAt(i);//Umwandlung von Buchstabe zu Zahlif(asciiWert>=97&& asciiWert<=122){asciiWert=asciiWert-32;//s.Ascci-Zahlen-Tabelle}
asciiWert=asciiWert+pkey;
pbotschaft=pbotschaft+(char)asciiWert;Integer.toString(pbotschaft);}System.out.print(pbotschaft);}}
Mein Problem oder viel mehr meine Frage ist Wandeln sich die ascii-Zahlen automatisch in Buchstaben um, sodass Integer.toString(); überflüssig ist?
Oder woran liegt es das mir nichts zurückgegeben wird?
1. Vielleicht solltest du deinen Code formatieren, damit man ihn auch lesen kann
2. Es gibt keine Methode Integer.toString(String value). D.h. die Klasse dürfte so gar erst nicht kompiliert werden
Oder woran liegt es das mir nichts zurückgegeben wird?
Welchen Rückgabewert denn?
Ich sehe jetzt in dem Code nirgends wo die Methode überhaupt aufgerufen wird.
Aber Integer.toString(String); klingt in der Tat schon alleine durch den Namen sehr verkehrt, da braucht man nicht mal in die API schauen
/edit: ah ok FinalStriker, war wohl gestern zu spät für mich. Dachte du spracht von seiner Methode Aber so machts mehr Sinn, stimmt scho
Du hast die Variable asciiWert vom Typ int. Sobald du diese, wie du es bereits machst, zum char castet, wird daraus der entsprechende char, und in deinem "Codestück" an die Variable pbotschaft gehängt.
Das Integer.toString() hat A) nicht deinen gewünschten Effekt und B) Es wäre selbst dann überflüssig, da pbotschaft schon ein String ist.
Am Code gibts auch noch ein paar Feinheiten zu verbessern, unter Anderem diese Punkte:
- Solltest das ganze mal besser formatieren.
-