我在大学学习java,需要编写一个静态int countcapitals(string s)方法,返回字符串中以大写字母开头的单词数。
大写字母是大写字母类型或标题大写字母类型的字符。单词是由一个或多个空格、字符、符号或标点符号分隔的字母或数字序列。
新的。你好,我亲爱的朋友们!这里的单词以ć资本ł字母“)==6
我只允许在字符串和字符类中使用方法
public class New {
static int countCapitals(String s) {
int c = 0;
if (Character.isUpperCase(s.charAt(0)) == true
|| Character.isTitleCase(s.charAt(0)) == true) {
c++;
}
for (int i = 0; i < s.length() - 1; i++) {
if (Character.isLetter(s.charAt(i)) == false
&& Character.isLetter(s.charAt(i + 1)) == true) {
if (Character.isUpperCase(s.charAt(i + 1)) == true
|| Character.isTitleCase(s.charAt(i + 1)) == true) {
c++;
}
}
}
return c;
}
}
这是我的代码,但在某些测试中不起作用。测试已经结束了,所以我不知道是哪个。你能告诉我哪里出了问题,怎么解决吗?
1条答案
按热度按时间nnvyjq4y1#
java的内置regex包就是我的方式: