编写一个方法 public String initcap(String word); 把整句话的每个单词的首字母改成大写,其它不变。 例如字符串:String str=”welcome-to-china”。
时间: 2024-03-17 19:47:13 浏览: 118
好的,下面是 Java 代码实现:
```java
public class StringUtil {
public static String initcap(String word) {
if (word == null || word.isEmpty()) {
return word;
}
String[] words = word.split("-");
StringBuilder sb = new StringBuilder();
for (String w : words) {
if (w.isEmpty()) {
continue;
}
char[] chars = w.toCharArray();
chars[0] = Character.toUpperCase(chars[0]);
sb.append(new String(chars)).append("-");
}
if (sb.length() > 0) {
sb.deleteCharAt(sb.length() - 1);
}
return sb.toString();
}
}
```
这个方法接受一个字符串参数,返回每个单词首字母大写的字符串。它首先检查输入字符串是否为空或为 null,如果是,则直接返回原字符串。然后将字符串按照“-”分隔符拆分成单词数组,遍历每个单词,如果单词为空,则跳过;否则将单词转换为字符数组,将第一个字符大写,然后将字符数组转换为字符串并追加到 StringBuilder 中,同时追加一个“-”分隔符。最后,如果 StringBuilder 的长度大于 0,则删除最后一个分隔符,然后将 StringBuilder 转换为字符串并返回。
阅读全文