Programm, welches eine Textzeile einliest und alle darin enthaltenen Buchstaben umwandelt

infin1ty

Mitglied
Hallo Leute,

ich zerbreche mir schon seit geraumer Zeit den Kopf über folgendem Problem:

Meine Aufgabe ist es ein Programm, welches eine Textzeile einliest und alle darin enthaltenen Klein- in die entsprechenden Grobuchstaben umwandelt und umgekehrt, zu schreiben. Ich habe bereits folgenden Code geschrieben:

Java:
public class aufgabe {

    /**
     * @param args the command line arguments
     */
    
    public static void main(String[] args) {
        
        Scanner scan = new Scanner(System.in);
        
        String lowercase = "abcdefghijklmnopqrstuvwxyz";
        String uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";   
        
        String eingabe = scan.next();
        int n = eingabe.length();
        
        char Z [] = new char[n];
        
        for (int i=0; i<n; i++) {
            Z[i] = eingabe.charAt(i);
            if (Z[i] == lowercase.indexOf(Z[i]))
                System.out.print(Z[i]);
            else System.out.print("mist"+Z[i]);
        }
    }
}

Mein Problem ist nun, dass der Verglich zwischen dem Wert des Arrays und dem Wert aus lowercase.indexOf(Z) leider nicht funktioniert, auch wenn ich Zahlen in den Array einspeichere (index.Of gibt ja nur Zahlen aus --> somit die gleiche Zahl notwendig damit der Vergleich wahr ist). Die Aufgabe ist mit diesem Code natürlich noch nicht gelöst, da fehlen noch ein paar Zeilen und ein paar Sachen müssen geändert werden. Darum geht es mir aber eigentlich auch gar nicht so richtig, möchte einfach nur herausfinden warum der Vergleich in der if Bedingung nicht tut.

Vielen Dank für Eure Hilfe 😉
 
Lowercase.indexOf gibt die Position von z(i) im String aus. Diese Zahl musst du nicht vergleichen, sondern verwenden um genau den Buchstaben aus Uppercase zu verwenden. Weil an der Position steht der entsprechende Großbuchstabe.
 

Zurück
Oben