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

新手上路,请多包涵

我正在使用 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()

原文由 sumithra 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 393
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);
}

原文由 Rekin 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题