Saya menggunakan Java untuk mendapatkan String
input dari pengguna. Saya mencoba membuat huruf pertama dari input ini menjadi huruf besar.
Saya mencoba ini:
String name;
BufferedReader br = new InputStreamReader(System.in);
String s1 = name.charAt(0).toUppercase());
System.out.println(s1 + name.substring(1));
yang menyebabkan kesalahan kompilator ini:
Ketik ketidakcocokan: tidak bisa mengonversi dari InputStreamReader ke BufferedReader
Tidak dapat meminta toUppercase () pada char tipe primitif
java
string
capitalize
sumithra
sumber
sumber
Jawaban:
Dengan contoh Anda:
sumber
StringUtils.capitalize(..)
dari commons-langsumber
StringUtils.capitalize( "fred from jupiter" );
menghasilkan"Fred from jupiter"
. Mudah ...: DKode versi yang lebih pendek / lebih cepat untuk menggunakan huruf kapital huruf pertama dari String adalah:
nilai
name
is"Stackoverflow"
sumber
Gunakan perpustakaan umum Apache. Bebaskan otak Anda dari barang-barang ini dan hindari Null Pointer & Index Out Of Bound Exception
Langkah 1:
Impor perpustakaan umum apache dengan meletakkan ini di
build.gradle
dependensiLangkah 2:
Jika Anda yakin string Anda menggunakan huruf kecil, atau yang Anda butuhkan adalah menginisialisasi huruf pertama, langsung hubungi
Jika Anda ingin memastikan bahwa hanya huruf pertama yang ditulis dengan huruf besar, seperti melakukan ini untuk
enum
, panggiltoLowerCase()
dulu dan ingatlah bahwa itu akan dilemparkanNullPointerException
jika string inputnya nol.Berikut adalah lebih banyak sampel yang disediakan oleh apache. itu pengecualian gratis
catatan:
WordUtils
juga termasuk dalam perpustakaan ini, tetapi sudah usang. Tolong jangan gunakan itu.sumber
How to capitalize the first letter of a String in Java?
.Jawa:
hanya metode pembantu untuk memanfaatkan setiap string.
Setelah itu cukup panggil
str = capitalize(str)
Kotlin:
sumber
str
nol. Periksa string tidak nol dan memiliki setidaknya satu karakter sebelum menggunakan ini.Apa yang ingin Anda lakukan mungkin ini:
(mengkonversi karakter pertama ke huruf besar dan menambahkan sisa dari string asli)
Juga, Anda membuat pembaca aliran input, tetapi tidak pernah membaca baris apa pun. Jadi
name
akan selalu begitunull
.Ini seharusnya bekerja:
sumber
WordUtils.capitalize(java.lang.String)
dari Apache Commons .sumber
Solusi di bawah ini akan berfungsi.
Anda tidak dapat menggunakan toUpperCase () pada char primitive, tetapi Anda dapat membuat seluruh String menjadi Huruf besar terlebih dahulu kemudian mengambil char pertama, kemudian menambahkan substring seperti yang ditunjukkan di atas.
sumber
Gunakan
WordUtils.capitalize(str)
.sumber
Terpendek juga:
Bekerja untukku.
sumber
Atur string ke huruf kecil, lalu atur Huruf pertama ke atas seperti ini:
lalu dengan huruf besar huruf pertama:
Substring hanya mendapatkan seutas tali yang lebih besar, lalu kita gabungkan kembali.
sumber
Bagaimana dengan WordUtils.capitalizeFully () ?
sumber
Gunakan metode utilitas ini untuk mendapatkan semua huruf pertama di ibukota.
sumber
sumber
Anda juga dapat mencoba ini:
Ini lebih baik (dioptimalkan) daripada dengan menggunakan substring. (tapi jangan khawatir dengan string kecil)
sumber
Anda dapat menggunakannya
substring()
untuk melakukan ini.Tetapi ada dua kasus berbeda:
Kasus 1
Jika
String
huruf kapital yang Anda gunakan dimaksudkan agar dapat dibaca oleh manusia, Anda juga harus menentukan lokal default:Kasus 2
Jika
String
kapitalisasi yang Anda maksud dapat dibaca oleh mesin, hindari menggunakanLocale.getDefault()
karena string yang dikembalikan akan tidak konsisten di berbagai wilayah, dan dalam hal ini selalu tentukan lokal yang sama (misalnya,toUpperCase(Locale.ENGLISH)
). Ini akan memastikan bahwa string yang Anda gunakan untuk pemrosesan internal konsisten, yang akan membantu Anda menghindari bug yang sulit ditemukan.Catatan: Anda tidak harus menentukan
Locale.getDefault()
untuktoLowerCase()
, karena ini dilakukan secara otomatis.sumber
Di Android Studio
Tambahkan ketergantungan ini ke
build.gradle (Module: app)
Sekarang kamu bisa menggunakannya
sumber
CATATAN: Jika Anda sudah memiliki ketergantungan Apache Common Lang, maka pertimbangkan untuk menggunakan StringUtils.capitalize mereka sebagai jawaban lain menyarankan.
IMPLEMENTASI: https://github.com/spring-projects/spring-framework/blob/64440a5f04a17b3728234afaa89f57766768decb/spring-core/src/main/java/org/springframework/util/StringU5355355
REF: https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/util/StringUtils.html#capitalize-java.lang.String-
sumber
ITU AKAN BEKERJA 101%
sumber
Ini hanya untuk menunjukkan kepada Anda, bahwa Anda tidak salah.
Catatan: Ini sama sekali bukan cara terbaik untuk melakukannya. Ini hanya untuk menunjukkan kepada OP bahwa itu dapat dilakukan dengan menggunakan
charAt()
juga. ;)sumber
Character.toString(name.charAt(0))
daripada""+name.charAt(0)
menunjukkan apa yang benar-benar ingin saya lakukan.Ini akan bekerja
sumber
Anda dapat menggunakan kode berikut:
sumber
coba yang ini
Apa yang dilakukan metode ini adalah, Pertimbangkan kata "hello world", metode ini mengubahnya menjadi "Hello World" dengan huruf kapital di awal setiap kata.
sumber
Jawaban yang diberikan adalah untuk huruf besar huruf pertama dari satu kata saja. gunakan kode berikut untuk menggunakan seluruh string.
keluaran:
This Is A Random String
sumber
Jika Masukan adalah Huruf Besar, maka Gunakan berikut ini:
str.substring (0, 1) .toUpperCase () + str.substring (1) .toLowerCase ();
Jika Inputnya lebih rendah, maka gunakan yang berikut:
str.substring (0, 1) .toUpperCase () + str.substring (1);
sumber
Lihatlah ACL WordUtils.
WordUtils.capitalize ("your string") == "Your String"
Bagaimana huruf besar setiap huruf pertama dalam sebuah string?
sumber
sumber
Anda dapat menggunakan kode berikut:
contoh tes dengan JUnit:
sumber
Menggunakan
commons.lang.StringUtils
jawaban terbaik adalah:Saya merasa brilian karena membungkus string dengan StringBuffer. Anda dapat memanipulasi StringBuffer seperti yang Anda inginkan dan meskipun menggunakan instance yang sama.
sumber
Contoh lain, bagaimana Anda bisa membuat huruf pertama dari input pengguna menjadi kapital:
sumber