Hallo,
die nächste Aufgabe besteht jetzt darin, einen eingebenen Satz umgekehrt wieder auszugeben. Die Kleinbuchstaben werden zu Grossbuchstaben und umgekehrt.
Beispiel:
Eingabe => Diese Aufgabe hat es in sich
Ausgabe => HCIS NI SE TAH EBAGFUa ESEId
Erlaubt sind nur Buchstaben (a-z und A-Z und die leerstelle). die sollen wir in char-arrays reintun. und für die eingabe sollen wir die Scanner-Klasse verwenden.
Ich sitze jetzt schon länger dran...aber es will einfach nicht funktionieren:
die nächste Aufgabe besteht jetzt darin, einen eingebenen Satz umgekehrt wieder auszugeben. Die Kleinbuchstaben werden zu Grossbuchstaben und umgekehrt.
Beispiel:
Eingabe => Diese Aufgabe hat es in sich
Ausgabe => HCIS NI SE TAH EBAGFUa ESEId
Erlaubt sind nur Buchstaben (a-z und A-Z und die leerstelle). die sollen wir in char-arrays reintun. und für die eingabe sollen wir die Scanner-Klasse verwenden.
Ich sitze jetzt schon länger dran...aber es will einfach nicht funktionieren:
Java:
import java.util.Scanner;
public class Revert {
public static void main (String[]args){
//Einlesen des Satzes
Scanner in = new Scanner(System.in);
String satz = in.nextLine();
//Satz in einen Char-Array speichern
char satzzeichen[] = satz.toCharArray();
//Kleinbuchstaben (char-array)
char[] klein = {'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', ' '};
//Grossbuchstaben (char-array)
char[] groß = {'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'};
String invSatz = "";
//Überprüfen ob Eingabe(Satz) in den Arrays enthalten ist
for(int i = 0; i <= satzzeichen.length; i++){
if(satzzeichen[i] == klein[i] || satzzeichen[i] == groß[i]){
//Satz-Array wird rückwärts durchlaufen
for (int j = satzzeichen.length-1; j >= 0; j--) {
//Wenn Satzzeichen Kleinbuchstabe ist, wird es in ein Großbuchstabe umgewandelt
if (Character.isLowerCase(satzzeichen[j])) {
invSatz += Character.toUpperCase(satzzeichen[j]);
}
//Wenn Satzzeichen Großbuchstabe ist, wird es in ein Kleinbuchstabe umgewandelt
else if (Character.isUpperCase(satzzeichen[j])) {
invSatz += Character.toLowerCase(satzzeichen[j]);
}
else //Wenn Satzzeichen eine Leerstelle ist
{
invSatz += satzzeichen[j];
}
//Satzzeichen in umgekehrter Reihenfolge ausgeben
for ( int k = satzzeichen.length-1; k >= 0; k-- ){
System.out.println(k);
}
}
}else{
System.out.println("Es sind nur Buchstaben von a-z bzw. A-Z zugelassen");
}
}
}
}