Methode die statt char[] ein "null" zurück gibt

deluxeomat

Mitglied
Servus Leute, hab hier eine kleine Frage auf die ich im Netz leider keine Antwort gefunden habe:

Ich soll eine Methode schreiben die mir ein char Array zurück gibt, doch wenn z.B. bei den Parametern die die Methode nimmt etwas nicht passt, soll sie mir ein "null" zurück geben, wie mach ich das?

Java:
public static char[] Zauberei(char[] buchstaben){

     if(buchstaben.legnth < 3) return null;
     return buchstaben;
}

ich hätte in meiner Ausgabe gerne einfach nur null stehen... nur wie?:bahnhof:
 
Ich verstehe anscheinend deine Frage nicht, da der Code in deinem Beispiel null zurück gibt, wenn eben wenn bei deinem Array etwas nicht passt (was auch immer "nicht passen" bei deinem Array bedeutet).
 
wozu soll null zurückgegeben werden?

ich hab es mal überarbeitet:

Java:
public static char[] zauberei(char[] buchstaben){
		if(buchstaben.length < 3){
			return null;     
		}
		return buchstaben;
	}
		
	public static void main(String[] args) {
		
		char a [] = new char [] { 'a', 'b', 'c'}; //hier einen char löschen und schon hast du null
		char b [] = new char [3];
		
		b = zauberei(a);
		
		for(int i = 0; i < 3; i++){
			System.out.println(b[i]);
		}
		
			
	}
 
hier mal die Aufgabe:

Bei der Caesar-Verschlüsselung handelt es sich um ein einfaches Verschlüsselungsverfahren, bei dem jeder Buchstabe eines Klartexts auf einen Buchstaben eines Geheimtexts abgebildet wird. Diese Abbildung ergibt sich, indem man die Zeichen eines geordneten Alphabets um eine bestimmte Anzahl (zyklisch) nach rechts verschiebt.
Das Alphabet bspw. würde bei einer Verschiebung um drei Zeichen wie folgt aussehen:
Klar: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Geheim: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Aus dem Klartext „CAESAR“ würde somit der Geheimtext „FDHVDU“.
a) Schreiben Sie eine Methode, die
 einen zu verschlüsselnden Text in Form eines char-Feldes sowie die Anzahl der Zeichen um die jeder Buchstabe verschoben werden soll, entgegennimmt,
 den Text nach obigen Verfahren verschlüsselt und
 den verschlüsselten Text in Form eines char-Feldes zurückgibt.
 Wenn der an die Methode übergebene Klartext Buchstaben enthält, die keine Großbuchstaben von A-Z sind (d.h. Umlaute, Ziffern, Sonderzeichen, Kleinbuchstaben, etc.), soll die Methode null zurückgeben.
 Wenn die Anzahl der Zeichen um die jeder Buchstabe verschoben werden soll, negativ ist, soll die Methode ebenfalls null zurückgeben.
 
Also du willst eine simple affine Chiffre implementieren:
In dem Fall musst du zum Prüfen, ob jeder Buchstabe im char-Array ein Großbuchstabe aus dem Alphabet ist (Stichwort: Schleife).
 
ja klar, das programm läuft, nur weiß ich nicht so ganz wie ich jetzt zb umlaute abfange (Ä,Ü) und dann ein "null" zurück gebe, lenuyx und ich sind auf die idee gekommen das char feld in ein Character feld zu überspielen und dann dieses im fehlerfall als "null" objekt zurückzugeben, nur ist die frage ob dass nicht auch noch anders laufen könnte, denn wenn ich ein normales array null setze bekomme ich eine exception.
 
Wenn du einen char zu einem int castest, dann bekommst du den ASCII Code. für 'A' ist es 65, für 'Z' ist es 90.
Ein valider Großbuchstabe muss zwischen 65 und 90 sein. Hilft das?
 
ja wie gesagt die buchstabenverschiebung läuft, nur will der prof. bei einem fehlerfall kein array ausgeben sondern ein "null" und das löst aber einen exception aus weil meine methode ja ein char[] ausgeben will, und ein char ist kein objekt kann deshalb kein null ausgeben?! oder kann es das doch?!
 
Da muss dann doch nur eine Prüfung laufen, ob eben null zurückgegeben wird. Wenn ja, dann die Ver/Entschlüsselung abgebrochen und eine Fehlermeldung ausgegeben.
 

Zurück
Oben