java - 第一个字母大写

标签 java

我正在尝试编写一段代码,将句点“.”后的第一个字母大写

例如:

String str = "abcdef. ghijk, mlnopqrs. tuv .................." 
//the "............" means the line is still going on.

输出应该是:

"Abcdef. Ghijk, mlnopqrs. Tuv ................."

注意:仅使用基本方法

字符串:charAt , indexOf , length , substring , toUpperCase

这意味着没有Stringbuilder ,没有数组,没有分割...等等。我在这个网站上找到的其他解决方案也涉及这些内容。

<小时/>

编辑:非常感谢大家的快速回复。刚刚看到罗宾·克拉尔的编辑。是的,我忘了添加我的代码。 我的代码看起来与ma​​u的回复一模一样。但这段代码最终出现了这个异常

java.lang.StringIndexOutOfBoundsException: String index out of range

从这里我不知道如何解决这个问题 -.-

最佳答案

我可以帮助你解决逻辑部分:

  1. 查找直到“.”的子字符串
  2. 将子字符串第 0 个位置的 charAt 改为大写。
  3. 循环 1 到 2,直到不再有“.”。出现在字符串中
  4. 连接子字符串

希望这有帮助

关于java - 第一个字母大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19578486/

相关文章:

Java:为什么我需要初始化一个原始局部变量?

java - 如何将一组 char[] 添加到 List<String> 中?

java - 使用 ITEXT 使图像适合 PDF

java - 如何在 Jersey 中向 Moxy 注册 ValidationEventHandler?

Java 垃圾收集策略

java.lang.OutOfMemoryError : PermGen space: java reflection 错误

java - 如何在 MySQL 数据库中存储 Java Instant

java - JVM 静态初始化

java - 是否有任何不属于动态多态性的覆盖

java - 并发实践 - volatile++