前言:
今天兄弟们对“java字符串首字母大写方法”大约比较关怀,同学们都想要了解一些“java字符串首字母大写方法”的相关文章。那么小编也在网上搜集了一些关于“java字符串首字母大写方法””的相关文章,希望朋友们能喜欢,小伙伴们快快来学习一下吧!给kimi的提示语
给你一个字符串 title ,它由单个空格连接一个或多个单词组成,每个单词都只包含英文字母。请你按以下规则将每个单词的首字母 大写 : 如果单词的长度为 1 或者 2 ,所有字母变成小写。 否则,将单词首字母大写,剩余字母变成小写。 请你返回 大写后 的 title 。
示例 1: 输入:title = "capiTalIze tHe titLe" 输出:"Capitalize The Title"
解释: 由于所有单词的长度都至少为 3 ,将每个单词首字母大写,剩余字母变为小写。
示例 2: 输入:title = "First leTTeR of EACH Word" 输出:"First Letter of Each Word"
解释: 单词 "of" 长度为 2 ,所以它保持完全小写。 其他单词长度都至少为 3 ,所以其他单词首字母大写,剩余字母小写。
示例 3: 输入:title = "i lOve leetcode" 输出:"i Love Leetcode"
解释: 单词 "i" 长度为 1 ,所以它保留小写。 其他单词长度都至少为 3 ,所以其他单词首字母大写,剩余字母小写。 请使用java和golang实现
Kimi回答Java实现
public class CapitalizeTitle { public static String capitalizeTitle(String title) { String[] words = title.split(" "); StringBuilder result = new StringBuilder(); for (String word : words) { if (word.length() <= 2) { result.append(word.toLowerCase()).append(" "); } else { result.append(word.substring(0, 1).toUpperCase()) .append(word.substring(1).toLowerCase()).append(" "); } } return result.toString().trim(); } public static void main(String[] args) { String title1 = "capiTalIze tHe titLe"; System.out.println(capitalizeTitle(title1)); // 输出:"Capitalize The Title" String title2 = "First leTTeR of EACH Word"; System.out.println(capitalizeTitle(title2)); // 输出:"First Letter of Each Word" String title3 = "i lOve leetcode"; System.out.println(capitalizeTitle(title3)); // 输出:"i Love Leetcode" }}Go实现
package mainimport ( "fmt" "strings" "unicode")func capitalizeTitle(title string) string { words := strings.Split(title, " ") var result []string for _, word := range words { if len(word) <= 2 { result = append(result, strings.ToLower(word)) } else { result = append(result, strings.ToUpper(string(word[0]))+strings.ToLower(word[1:])) } } return strings.Join(result, " ")}func main() { title1 := "capiTalIze tHe titLe" fmt.Println(capitalizeTitle(title1)) // 输出:"Capitalize The Title" title2 := "First leTTeR of EACH Word" fmt.Println(capitalizeTitle(title2)) // 输出:"First Letter of Each Word" title3 := "i lOve leetcode" fmt.Println(capitalizeTitle(title3)) // 输出:"i Love Leetcode"}实现思路使用split函数将输入的字符串title按空格分割成单词数组。遍历每个单词,根据单词的长度应用不同的转换规则:如果单词长度小于等于2,将整个单词转换为小写。否则,将单词的首字母转换为大写,其余部分转换为小写。使用StringBuilder(Java)或切片(Go)来构建结果字符串。最后,将结果字符串的元素使用一个空格连接起来,并返回。
这个方法正确处理了每个单词的大小写转换,并符合给定的规则。
总结:这次Kimi给出了完整的代码,并且提交测试通过,和官方解题思路基本一致。
标签: #java字符串首字母大写方法