Eingabe erkennen, ob groß oder kleingeschrieben worden ist

Diskutiere Eingabe erkennen, ob groß oder kleingeschrieben worden ist im Java Basics - Anfänger-Themen Bereich.
N

NichtExpert

Hallo Liebe Community,

mein Anliegen steht in der Frage. Ich möchte eine Konsolen-eingabe machen und anhand der Eingabe (groß/kleinschreibung am Anfang) soll das Programm erkennen, ob es groß oder klein geschrieben worden ist.
Je nach Eingabe passiert danach noch was, aber das kann ich alleine - nur dieses problem habe ich noch.

Es wird bestimmt befehle dafür geben?
Bitte um Hilfe
 
X

Xyz1

https://docs.oracle.com/javase/7/docs/api/java/lang/Character.html#isUpperCase(char) und https://www.tutorialspoint.com/java/character_isuppercase.htm
 
N

NichtExpert

Vielen Dank für die schnelle Antwort, leider meine ich das nicht so. Ich schicke mal die Aufgabenstellung, damit ihr wisst, wie ich das meine:

Schreiben Sie ein Java-Programm, das ein StringBuffer-Feld der Größe 5 erzeugt. Lesen Sie fünf Vornamen ein - wobei Sie die weiblichen Namen mit Kleinbuchstaben und die männlichen mit Großbuchstaben schreiben – und speichern Sie in dem Feld.
Geben Sie das Feld aus.
Übergeben Sie jeden Vornamen an die Methode umwandeln, die Klein- in Großbuchstaben, bzw. Groß- in Kleinbuchstaben umwandeln soll und die so geänderten Namen an main zurückgibt. Geben Sie das Feld erneut aus.

Also, mit den buffern und co - Alles kein problem. Cih muss jetzt aber bei den eingebenen Vornamen gucken, wurde es groß oder klein geschrieben
 
L

LimDul

Wo ist das Problem? Mit von Xyz1 verlinkten Methode schauen, ob das erste Zeichen Groß oder Kleinbuchstabe nicht.
 
N

NichtExpert

Habe ich probiert geht nicht.
Das ganze kann man nicht mit nem String machen, nur mit nem Char oder Integer.

Ansonsten mache ich wahrscheinlich was falsch
Edit: Fehler sitzt vorm PC
 
X

Xyz1

Java:
	public static final boolean isUppercaseString(String s) {
		return s == null || s.isEmpty() || Character.isUpperCase(s.charAt(0));
	}
oder alternativ
Java:
	public static final boolean isUppercaseString(String s) {
		return !(s == null || s.isEmpty() || !Character.isUpperCase(s.charAt(0)));
	}
 
N

NichtExpert

Habe es hinbekommen schicke nur für andere ein BSP-Code
Java:
public class Test {
    
    public static void main(String[] args) {
    
        // Eingabe namen
        String name1 = JOptionpane.showInputDialog("Namen eingeben: ");
        
        // Hier holen wir uns den Ersten buchstaben aus name1
        char charname1 = name1.charAt(0);
        // Ausgabe des Ersten buchstabens
        System.out.println("Erster Buchstabe der Eingabe: " + charname1);
        
        /**
        *  zum Beispiel geben wir "Tomate" ein,
        *  dann ist charname1 gleich "T"
        *  Ausgabe demenstsprechend "T".
        */
    }
}
 
N

NichtExpert

Wie kann ich denn dann in einer IF-bedingung fragen:

Wenn charAt(0) glecih toUpperCase, dann...

Oder umgekehrt:
Wenn charAt(0) ungleich tolowerCase?
 
N

NichtExpert

Bin kein Anfäger mehr, programmiere schon 8 monate.

Java:
public class Test_6 {



    private static void umwandeln(String name1, String name2, String name3, String name4, String name5) {

        char charname1 = name1.charAt(0);       // ersten Buchstaben von name1 geholt

     /*hier soll jetzt eine IF-bedingu8ng hin, wenn charname1 (also mein charAt(0))
     groß geschrieben ist, hatte probiert
     if (charname1 != .toUpperCase)
     Das das vom ersten Blick falsch ist, wusste ich schon, als ich den gedanken hatte*/   
    }


    public static void main(String[] args) {

        String name1 = JOptionPane.showInputDialog("Ersten Name eingeben: ");   // Eingabe name1
        String name2 = JOptionPane.showInputDialog("Zweiten Name eingeben: ");  // Eingabe name2
        String name3 = JOptionPane.showInputDialog("Dritten Namen eingeben: "); // Eingabe name3
        String name4 = JOptionPane.showInputDialog("Vierten Namen eingeben: "); // Eingabe name4
        String name5 = JOptionPane.showInputDialog("Fünften Namen eingeben: "); // Eingabe name5

        StringBuffer[] buffer = new StringBuffer[5];                            // StringBuffer größe 5

        buffer[0] = new StringBuffer(name1);                                    // namen den Stringbuffer hinzugefügt
        buffer[1] = new StringBuffer(name2);                                    //
        buffer[2] = new StringBuffer(name3);                                    //
        buffer[3] = new StringBuffer(name4);                                    //
        buffer[4] = new StringBuffer(name5);                                    // namen den Stringbuffer hinzugefügt

        System.out.println(buffer[0]);                                          // Ausgabe name1
        System.out.println(buffer[1]);                                          // Ausgabe name2
        System.out.println(buffer[2]);                                          // Ausgabe name3
        System.out.println(buffer[3]);                                          // Ausgabe name4
        System.out.println(buffer[4]);                                          // Ausgabe name5
        System.out.println();
        System.out.println();

        umwandeln(name1, name2, name3, name4, name5);         // Ausführung methode umwandeln, gleichzeitig sagen wir der Methode, dass im Kopf die Strings name1-5 gleich main Strings1-5 sind (Die von PSVM)
    }
}
 
N

NichtExpert

Nur equals kann ich nicht verwenden, da equals Inhalte vergleicht
 
N

NichtExpert

Wenn ich ihn wie im BSP machen möchte, kommt es immer zur Fehlermeldung. Und umstellen muss ich das Ding auch komplett - ode anders gesagt, verstehe ich den Code-Schnipsel auf Oracle nicht ganz. Die erwähnen da noch "UPPERCASE_LETTER " und da weiß ich jetzt z.B. nicht, muss der auch noch im Code mit rein oder nicht, wenn ich ihn reinmache, wird er rot markiert - dfaher schätze ich - NEIN.

Der ändert den char in nen String um, und dann zum Integer - dass das Falsch ist, und so nicht geht weiß ich, aber umgestellt bekomme ich den so nicht,und bei den Code oben den ich geschickt habe, funktioniert alles und ich eweiß was jeder befehl kann und macht und bräuchte bei dem nurnoch bei der Schleife eine kleine Hilfestellung - oder wir müssten das gerade von Oracle nochmal besprechen
 
N

NichtExpert

Umwandeln tut er ihn so:

Java:
public class Test {

    public static void isUpperCase (String ch) {
        Character.getType(Integer.parseInt(ch));
        System.out.println(ch);
    }

    public static void main(String[] args) {
        isUpperCase(JOptionPane.showInputDialog("bitte eingeben: "));

    }
}

Ursprünglich hatte ich ihn so geschrieben:


Java:
public class Test {

    public static void isUpperCase (char ch) {
        Character.getType(ch);
    }

    public static void main(String[] args) {
        // wird als fehler markiert - in String umwandeln -- ab JOptionPane.show...
        isUpperCase(JOptionPane.showInputDialog("Wort eingeben: "));

    }
}
 
X

Xyz1

Character.getType(Integer.parseInt(ch));
Das ist ziemlicher nonsense. Du musst mit charAt(0) auf das erste Zeichen zugreifen und mit Character.isUpperCase testest Du, ob es sich um einen Großbuchstaben handelt.
Alternativ:
Java:
		String s = "Hallo";
		System.out.println(s.substring(0, 1).toUpperCase().equals(s.substring(0, 1)));
 
N

NichtExpert

Versuche das Ganze morgen oder spätestens Montag nochmal, melde mich
 
N

NichtExpert

Bin nun fertig und es klappt so, wie ich es haben wollte.

habe mir @Xyz1 Bsp. angeguckt und das ganze als If-bedingung eingeführt. Dann musste ich nurnoch die Anweisung einführen und Fertig:

Java:
if (name1.substring(0,1).toUpperCase().equals(name1.substring(0,1)))
 
Thema: 

Eingabe erkennen, ob groß oder kleingeschrieben worden ist

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben