Probieren Sie dies für die Größe an:
String properCase (String inputVal) {
if (inputVal.length() == 0) return "";
if (inputVal.length() == 1) return inputVal.toUpperCase();
return inputVal.substring(0,1).toUpperCase()
+ inputVal.substring(1).toLowerCase();
}
Grundsätzlich werden Sonderfälle mit leeren Zeichenfolgen und Zeichen mit einem Zeichen zuerst behandelt, und ansonsten werden Fälle mit mehr als zwei Zeichen korrekt behandelt. Und wie in einem Kommentar ausgeführt, wird der Sonderfall mit einem Zeichen für die Funktionalität nicht benötigt, aber ich bevorzuge es immer noch, explizit zu sein, insbesondere wenn dies zu weniger nutzlosen Aufrufen führt, wie z. B. Teilzeichenfolgen, um eine leere Zeichenfolge mit niedrigerer Schreibweise zu erhalten es, dann auch anhängen.
String a = "ABCD"
mit diesem
alle Buchstaben zu einfach konvertieren, „ABCD“
dies mit
Alle Buchstaben werden in Großbuchstaben "ABCD" umgewandelt.
dieser Conver erste Brief an das Kapital:
a.substring(0,1).toUpperCase()
dieser Konverter anderer Buchstabe Einfach
a.substring(1).toLowerCase();
wir können die Summe dieser beiden erhalten
a.substring(0,1).toUpperCase() + a.substring(1).toLowerCase();
Ergebnis = "Abcd"
quelle
WordUtils.capitalizeFully(str)
von apache commons-lang hat die genaue Semantik wie erforderlich.quelle
String inputval="ABCb"; String result = inputval.substring(0,1).toUpperCase() + inputval.substring(1).toLowerCase();
Würde "ABCb" in "Abcb" ändern
quelle
Ich halte dies für einfacher als jede vorherige richtige Antwort. Ich werde auch Javadoc werfen. :-)
/** * Converts the given string to title case, where the first * letter is capitalized and the rest of the string is in * lower case. * * @param s a string with unknown capitalization * @return a title-case version of the string */ public static String toTitleCase(String s) { if (s.isEmpty()) { return s; } return s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase(); }
Zeichenfolgen der Länge 1 müssen nicht als Sonderfall behandelt werden, da
s.substring(1)
die leere Zeichenfolge beis
Länge 1 zurückgegeben wird.quelle
/* This code is just for convert a single uppercase character to lowercase character & vice versa.................*/ /* This code is made without java library function, and also uses run time input...*/ import java.util.Scanner; class CaseConvert { char c; void input(){ //@SuppressWarnings("resource") //only eclipse users.. Scanner in =new Scanner(System.in); //for Run time input System.out.print("\n Enter Any Character :"); c=in.next().charAt(0); // input a single character } void convert(){ if(c>=65 && c<=90){ c=(char) (c+32); System.out.print("Converted to Lowercase :"+c); } else if(c>=97&&c<=122){ c=(char) (c-32); System.out.print("Converted to Uppercase :"+c); } else System.out.println("invalid Character Entered :" +c); } public static void main(String[] args) { // TODO Auto-generated method stub CaseConvert obj=new CaseConvert(); obj.input(); obj.convert(); } } /*OUTPUT..Enter Any Character :A Converted to Lowercase :a Enter Any Character :a Converted to Uppercase :A Enter Any Character :+invalid Character Entered :+*/
quelle