如何在Java中将字符串的第一个字母大写?

2022-08-31 04:31:28

我正在使用Java从用户那里获得输入。我正在尝试将此输入的第一个字母大写。String

我试过这个:

String name;

BufferedReader br = new InputStreamReader(System.in);

String s1 = name.charAt(0).toUppercase());

System.out.println(s1 + name.substring(1));

这导致了这些编译器错误:

  • 类型不匹配:无法从 InputStreamReader 转换为 BufferedReader

  • 无法在基元类型 char 上调用 toUppercase()


答案 1
String str = "java";
String cap = str.substring(0, 1).toUpperCase() + str.substring(1);
// cap = "Java"

以您的示例为例:

public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    // Actually use the Reader
    String name = br.readLine();
    // Don't mistake String object with a Character object
    String s1 = name.substring(0, 1).toUpperCase();
    String nameCapitalized = s1 + name.substring(1);
    System.out.println(nameCapitalized);
}