Caesar-Verschlüsselung Problem/Frage

  • Themenstarter Themenstarter SOS
  • Beginndatum Beginndatum
S

SOS

Gast
Hallo, wie gesagt ich habe ein Problem mit der Caesar-verschlüsselung:

Java:
public class TCaesar 
{
    public TCaesar()
    {    
       String ptext=" "; //Zu Entschlüsselnder Text&Eingabe erfolgt durch User       
       int pkey;//Position des Alphabetbuchstabens+Schlüssel
       
    }
public void verschluesseln(String ptext, int pkey)
{
String pbotschaft = " ";//Der entschlüsselte Text

for(int i =0; i<ptext.length()-1; i++) {//Eine Schleife die so lange zählt, wie das Wort lang ist
int asciiWert=0;
asciiWert= (int) ptext.charAt(i);//Umwandlung von Buchstabe zu Zahl
if (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?

MfG
 
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?
3. Daran, dass du den Rückgabewert der Methode nicht auffängst.
 
3. Daran, dass du den Rückgabewert der Methode nicht auffängst.

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 🙂
 
Zuletzt bearbeitet:
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.
-
Code:
pbotschaft=pbotschaft+ (char)asciiWert;
kannst du auch so schreiben:
Code:
pbotschaft += (char) asciiWert;
 

Zurück
Oben