Caesar Ver- und Entschlüsselung

Status
Nicht offen für weitere Antworten.

philipp123

Neues Mitglied
Hallo,
ich habe ein Problem bei dem ich nicht weiter komme. Die Aufgabenstellung ist, dass ich ein Programm schreiben soll, wo ein Wort ver- und entschlüsselt werden soll mit der Caesar Methode. Es sollen ganz bestimmte Buchstaben und Sonderzeichen zur Ver- und Entschlüsselung verwendet werden. Mein Problem ist, dass ich es nicht hinbekomme, sobald ein Buchstabe oder Sonderzeichen, welches nicht definiert ist (z.B "ä"), das Programm mir eine Fehlermeldung, wie "Falsche Eingabe" ausgibt. Hat irgend einer ne Idee. Mit exeptions würde ich nicht so gerne arbeiten, da ich die nicht so wirklich verstehe...
Wenn mir jemand helfen könnte wäre echt cool, danke schonmal im Voraus...

Hier ist mein bisher erstellter Quelltext:

Code:
public class Semesteraufgabe5
{	
	
   public static void starten ()
{
			System.out.println ("Was willst du? Verschluesseln (V), entschluesseln (E) oder das Programm beenden (B)?");
				String x = Tools.stringEingabe ();
					if (x.equals("V"))
					{
					String e=verschluesseln ();
					System.out.println(" "+e);
					}										//Menüerstellung
					else
					{
					if (x.equals("E"))
					{
					String e=entschluesseln ();
					System.out.println(" "+e);	
					}
					else
					{
					if (x.equals("B"))
					{
					System.out.println ("Das Programm wurde beendet!");
					}
					else
					{
					System.out.println("Falsche Eingabe,nächster Versuch!");
					System.out.println (" ");
					starten ();
					}
					}
					}
	}
	public static String entschluesseln()
	{
		System.out.println ("Bitte geben Sie das zu entschlüsselnde Wort ein!");
		String text= Tools.stringEingabe ();
		System.out.println (" ");
		System.out.println ("Bitte geben Sie eine ganze Zahl ein!");
		int zahl= Tools.intEingabe (); 
		zahl=zahl*-1;
		if (zahl >76 || zahl<-76)
		{
			zahl = zahl % 76;
			
		}
		String a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 @.,:;?-()/=+´";
		String e = " ";
		for( int i=0; i<text.length(); i++ )
		{
		int p = a.indexOf( text.substring(i,i+1) );
		p =p+ zahl;
		if( p>=76 ) p=p-76;
		else
		{
		if( p<0 ) p=p+76;
		}
		e = e+a.substring(p,p+1);
		}
		return e;
	}
	public static String verschluesseln()
	{
		System.out.println ("Bitte geben Sie das zu verschlüsselnde Wort ein!");
		String text= Tools.stringEingabe ();
		System.out.println (" ");
		System.out.println ("Bitte geben Sie eine ganze Zahl ein!");
		int zahl= Tools.intEingabe ();
		if (zahl >76 || zahl<-76)
		{
			zahl = zahl % 76;
			
		}
		String a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 @.,:;?-()/=+´";
		String e = " ";
		for( int i=0; i<text.length(); i++ )
		{
		int p = a.indexOf( text.substring(i,i+1) );
		p =p+zahl;
		if( p>=76 )	p=p-76;
		else
		if( p<0 ) p=p+76;
		e = e+a.substring(p,p+1);
		}
		return e;
		

	}
	
	public static void main (String [] args)
	{
		starten ();
		
	}
	
		
}
 

Janus

Bekanntes Mitglied
du hast doch sogar schon die nötigen dinge im code. überprüf einfach, ob indexOf -1 zurückliefert. in dem fall hast du ein (nach definition in a) sonderzeichen gefunden. die fehlerbehandlung kannst du dir dann überlegen, aber bei deinem unflexiblen grunddesign (sorry *g) wär wohl eine exception das einfachste.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Feststellen, dass Wert zu groß; Caesar Chiffre Java Basics - Anfänger-Themen 3
T Fehler in Caesar-Chiffre Java Basics - Anfänger-Themen 7
N Erste Schritte JFrame Caesar-Verschlüsselung Java Basics - Anfänger-Themen 23
M Caesar Chiffre Java Basics - Anfänger-Themen 3
Y Caesar Verschlüsselung Fehler Java Basics - Anfänger-Themen 4
N Caesar Entschlüsselungsprogramm Java Basics - Anfänger-Themen 10
N Caesar Verschlüsselung Java Basics - Anfänger-Themen 2
J Erste Schritte Caesar - Code Verbesserung Java Basics - Anfänger-Themen 2
K Caesar Verschlüsselng Java Basics - Anfänger-Themen 18
S Caesar Verschlüsselung Start Hilfe Java Basics - Anfänger-Themen 4
H Caesar-Verschlüsselung - Was stimmt nicht? Java Basics - Anfänger-Themen 6
J Caesar Ciphers funktioniert nicht Java Basics - Anfänger-Themen 3
S Caesar-Verschlüsselung Problem/Frage Java Basics - Anfänger-Themen 4
B Textentschlüsselung nach Caesar Java Basics - Anfänger-Themen 3
M Caesar Encrypt+Decrypt Java Basics - Anfänger-Themen 3
K Caesar-chiffre Java Basics - Anfänger-Themen 5
F Nachrichtenverschlüsselung nach Caesar: Java Basics - Anfänger-Themen 4
C weniger code für: caesar + reverse? Java Basics - Anfänger-Themen 8
D Caesar Chiffre Java Basics - Anfänger-Themen 2
L Caesar-Verschlüsselung programmieren Java Basics - Anfänger-Themen 12
G Caesar-Chiffre Java Basics - Anfänger-Themen 7
M Entschlüsselungsproblem (Caesar) Java Basics - Anfänger-Themen 3
R Ceasar Entschlüsselung Java Basics - Anfänger-Themen 7
L Variablen Fehler bei der Entschlüsselung. Java Basics - Anfänger-Themen 5
L AES Entschlüsselung Fehler Java Basics - Anfänger-Themen 0
X Compiler-Fehler Entschlüsselung Java Basics - Anfänger-Themen 17
G Verschlüsselung und Entschlüsselung von Texten Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben