📌  相关文章
📜  国际空间研究组织 | ISRO CS 2009 |问题 68(1)

📅  最后修改于: 2023-12-03 15:07:33.697000             🧑  作者: Mango

国际空间研究组织 | ISRO CS 2009 |问题 68

本问题是ISRO CS 2009考试中的第68个问题,考察了程序员在字符串处理方面的能力。

问题描述

给定一个字符串,编写一个函数将字符串中的每个单词的首字母大写,并将结果作为输出返回。例如,如果输入字符串是“hello world”,则输出应为“Hello World”。

解题思路
  • 先将字符串转换为字符数组
  • 获取每个单词的起始位置
  • 将每个单词的首字母大写
  • 将字符数组转换为字符串返回
代码实现
public static String firstLetterUpperCase(String str) {
    char[] chars = str.toCharArray();
    boolean toUpperCase = true;
    for (int i = 0; i < chars.length; i++) {
        if (Character.isWhitespace(chars[i])) {
            toUpperCase = true;
        } else if (toUpperCase) {
            chars[i] = Character.toUpperCase(chars[i]);
            toUpperCase = false;
        }
    }
    return new String(chars);
}
测试样例
@Test
public void testFirstLetterUpperCase() {
    System.out.println(firstLetterUpperCase("hello world"));
    System.out.println(firstLetterUpperCase("hahahaha yes"));
    System.out.println(firstLetterUpperCase("test String function"));
}
测试结果
Hello World
Hahahaha Yes
Test String Function

以上就是本题的解题思路和代码实现。