Ich benutze Java, um eine String
Eingabe vom Benutzer zu erhalten. Ich versuche, den ersten Buchstaben dieser Eingabe groß zu schreiben.
Ich habe es versucht:
String name;
BufferedReader br = new InputStreamReader(System.in);
String s1 = name.charAt(0).toUppercase());
System.out.println(s1 + name.substring(1));
was zu diesen Compilerfehlern führte:
Typkonflikt: Konvertiert nicht von InputStreamReader in BufferedReader
ToUppercase () kann für den primitiven Typ char nicht aufgerufen werden
java
string
capitalize
Sumithra
quelle
quelle
Antworten:
Mit Ihrem Beispiel:
quelle
StringUtils.capitalize(..)
von commons-langquelle
StringUtils.capitalize( "fred from jupiter" );
produziert"Fred from jupiter"
. Einfach ...: DDer kürzere / schnellere Versionscode zum Großschreiben des ersten Buchstabens eines Strings lautet:
der Wert von
name
ist"Stackoverflow"
quelle
Verwenden Sie die allgemeine Bibliothek von Apache. Befreien Sie Ihr Gehirn von diesen Dingen und vermeiden Sie Null Pointer & Index Out of Bound Exceptions
Schritt 1:
Importieren Sie die allgemeine Lang-Bibliothek von Apache, indem Sie diese in
build.gradle
Abhängigkeiten einfügenSchritt 2:
Wenn Sie sicher sind, dass Ihre Zeichenfolge nur in Kleinbuchstaben geschrieben ist oder Sie nur den ersten Buchstaben initialisieren müssen, rufen Sie direkt an
Wenn Sie sicherstellen möchten, dass nur der erste Buchstabe groß geschrieben wird, wie dies für a der Fall ist
enum
, rufen SietoLowerCase()
zuerst auf und denken Sie daran, dass er ausgelöst wird,NullPointerException
wenn die Eingabezeichenfolge null ist.Hier finden Sie weitere Beispiele von Apache. Es ist ausnahmefrei
Hinweis:
WordUtils
ist ebenfalls in dieser Bibliothek enthalten, aber veraltet. Bitte benutzen Sie das nicht .quelle
How to capitalize the first letter of a String in Java?
.Java:
einfach eine Hilfsmethode zum Großschreiben jeder Zeichenfolge.
Danach einfach anrufen
str = capitalize(str)
Kotlin:
quelle
str
Null ist. Überprüfen Sie, ob die Zeichenfolge nicht null ist und mindestens ein Zeichen enthält, bevor Sie diese verwenden.Was Sie tun möchten, ist wahrscheinlich Folgendes:
(konvertiert das erste Zeichen in Großbuchstaben und fügt den Rest der ursprünglichen Zeichenfolge hinzu)
Außerdem erstellen Sie einen Eingabestream-Reader, lesen jedoch niemals eine Zeile. So
name
wird es immer seinnull
.Das sollte funktionieren:
quelle
WordUtils.capitalize(java.lang.String)
von Apache Commons .quelle
Die folgende Lösung wird funktionieren.
Sie können toUpperCase () nicht für primitive Zeichen verwenden, aber Sie können zuerst den gesamten String in Großbuchstaben schreiben, dann das erste Zeichen nehmen und dann wie oben gezeigt an den Teilstring anhängen.
quelle
Verwenden Sie
WordUtils.capitalize(str)
.quelle
Am kürzesten auch:
Hat für mich gearbeitet.
quelle
Setzen Sie die Zeichenfolge auf Kleinbuchstaben und dann den ersten Buchstaben wie folgt auf Großbuchstaben:
dann, um den ersten Buchstaben groß zu schreiben:
Teilzeichenfolge bekommt nur ein Stück einer größeren Zeichenfolge, dann kombinieren wir sie wieder zusammen.
quelle
Was ist mit WordUtils.capitalizeFully () ?
quelle
Verwenden Sie diese Dienstprogrammmethode, um alle Anfangsbuchstaben in Großbuchstaben zu erhalten.
quelle
quelle
Sie können dies auch versuchen:
Dies ist besser (optimiert) als bei Verwendung von Teilzeichenfolgen. (aber keine Sorge um kleine Schnur)
quelle
Sie können
substring()
dies verwenden.Es gibt jedoch zwei verschiedene Fälle:
Fall 1
Wenn das, was
String
Sie großschreiben, für Menschen lesbar sein soll, sollten Sie auch das Standardgebietsschema angeben:Fall 2
Wenn die
String
Großschreibung maschinenlesbar sein soll, vermeiden Sie die Verwendung,Locale.getDefault()
da die zurückgegebene Zeichenfolge in verschiedenen Regionen inkonsistent ist. Geben Sie in diesem Fall immer dasselbe Gebietsschema an (z. B.toUpperCase(Locale.ENGLISH)
). Dadurch wird sichergestellt, dass die Zeichenfolgen, die Sie für die interne Verarbeitung verwenden, konsistent sind, wodurch Sie schwer zu findende Fehler vermeiden können.Hinweis: Sie müssen nicht angeben müssen
Locale.getDefault()
fürtoLowerCase()
, da dies automatisch geschieht.quelle
In Android Studio
Fügen Sie diese Abhängigkeit zu Ihrem hinzu
build.gradle (Module: app)
Jetzt können Sie verwenden
quelle
HINWEIS: Wenn Sie bereits eine Apache Common Lang-Abhängigkeit haben, sollten Sie die Verwendung von StringUtils.capitalize in Betracht ziehen, wie andere Antworten vorschlagen.
UMSETZUNG: https://github.com/spring-projects/spring-framework/blob/64440a5f04a17b3728234afaa89f57766768decb/spring-core/src/main/java/org/springframework/util/StringUtils.java5
REF: https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/util/StringUtils.html#capitalize-java.lang.String-
quelle
ES WIRD 101% ARBEITEN
quelle
Dies soll Ihnen nur zeigen, dass Sie nicht so falsch lagen.
Hinweis: Dies ist überhaupt nicht der beste Weg, dies zu tun. Dies soll nur dem OP zeigen, dass es auch mit verwendet werden kann
charAt()
. ;)quelle
Character.toString(name.charAt(0))
anstatt""+name.charAt(0)
zu zeigen, was ich wirklich tun möchte.Das wird funktionieren
quelle
Sie können den folgenden Code verwenden:
quelle
Probier diese
Diese Methode bewirkt Folgendes: Betrachten Sie das Wort "Hallo Welt". Verwandeln Sie diese Methode in "Hallo Welt" und schreiben Sie den Anfang jedes Wortes groß.
quelle
Bei gegebenen Antworten wird nur der erste Buchstabe eines Wortes groß geschrieben. Verwenden Sie den folgenden Code, um eine ganze Zeichenfolge groß zu schreiben.
Ausgabe :
This Is A Random String
quelle
Wenn Input UpperCase ist, verwenden Sie Folgendes:
str.substring (0, 1) .toUpperCase () + str.substring (1) .toLowerCase ();
Wenn Input LowerCase ist, verwenden Sie Folgendes:
str.substring (0, 1) .toUpperCase () + str.substring (1);
quelle
Schauen Sie sich ACL WordUtils an.
WordUtils.capitalize ("Ihre Zeichenfolge") == "Ihre Zeichenfolge"
Wie wird jeder erste Buchstabe eines Wortes in einer Zeichenfolge in Großbuchstaben geschrieben?
quelle
quelle
Sie können den folgenden Code verwenden:
Beispieltest mit JUnit:
quelle
Mit
commons.lang.StringUtils
der besten Antwort ist:Ich finde es brillant, da es den String mit einem StringBuffer umschließt. Sie können den StringBuffer beliebig bearbeiten und dabei dieselbe Instanz verwenden.
quelle
Ein weiteres Beispiel, wie Sie den ersten Buchstaben der Benutzereingabe groß schreiben können:
quelle