Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 计算以大写字母开头的字符串中的所有单词_Java_String_Character - Fatal编程技术网

Java 计算以大写字母开头的字符串中的所有单词

Java 计算以大写字母开头的字符串中的所有单词,java,string,character,Java,String,Character,我在大学学习Java,需要编写一个静态的int countCapitals(String s)方法,返回字符串中以大写字母开头的单词数 大写字母是大写字母类型或标题大写字母类型的字符(字符)。单词是由一个或多个空格、字符、符号或标点符号分隔的字母或数字序列 New.countCapitals(“你好,我亲爱的朋友!这里的单词以大写字母开头”)==6 我只允许在字符串和字符类中使用方法。(没有正则表达式) 公共类新建{ 静态整数大写(字符串s){ int c=0; if(Character.isU

我在大学学习Java,需要编写一个静态的int countCapitals(String s)方法,返回字符串中以大写字母开头的单词数

大写字母是大写字母类型或标题大写字母类型的字符(字符)。单词是由一个或多个空格、字符、符号或标点符号分隔的字母或数字序列

New.countCapitals(“你好,我亲爱的朋友!这里的单词以大写字母开头”)==6

我只允许在字符串和字符类中使用方法。(没有正则表达式)

公共类新建{
静态整数大写(字符串s){
int c=0;
if(Character.isUpperCase(s.charAt(0))==true
||Character.isTitleCase(s.charAt(0))==true){
C++;
}
对于(int i=0;i

这是我的代码,但在某些测试中不起作用。测试已经结束了,所以我不知道是哪一个。您能告诉我哪里出了问题,以及如何修复它吗?

Java的内置正则表达式包就是我的选择:

import java.util.regex.Matcher;
导入java.util.regex.Pattern;
公共类单词以大写字母开头{
公共静态void main(字符串[]args){
//测试1——简单句
String s=“敏捷的棕色狐狸跳过懒狗”;
System.out.println(“\n输入字符串:“+s”);
System.out.println(“大写单词:+getCountOfWordsWithInitialCap(s));
//测试2——标点符号和换行符
s=“Lorem ipsum door sit amet,Concetetur adipising elit,sed do eiusmod tempor\n”
+“在劳动和就业方面,我们的收入是最低的,我们的收入是最低的。”
+“ullamco Laboratoris nisi and aliquip ex ea commodo consequat.Duis或irure dolor in reprehenderit\n”
+“在未经许可的情况下,除圣奥卡塔铜外,其他情况下\n”
+“不自以为是,必须为自己的行为负责。”;
System.out.println(“\n输入字符串:“+s”);
System.out.println(“大写单词:+getCountOfWordsWithInitialCap(s));
//测试3——苏格兰sirnames和连字符
s=“敏捷的棕色麦克加文跳过懒惰的麦克戈万狗”;
System.out.println(“\n输入字符串:“+s”);
System.out.println(“大写单词:+getCountOfWordsWithInitialCap(s));
}
私有静态最终模式字,带有\u CAP\u REGEX=Pattern.compile(([A-Z][A-Za-Z]*));
私有静态int getCountOfWordsWithInitialCap(字符串s){
整数计数=0;
Matcher Matcher=带大写字母的单词;
while(matcher.find()){
计数++;
字符串大写DWORD=matcher.group(1);
System.out.println(“\t”+count+”:“+capitalizedWord);//如果不想看到匹配项,请删除
}
返回计数;
}
}

Java的内置正则表达式包就是我的选择:

import java.util.regex.Matcher;
导入java.util.regex.Pattern;
公共类单词以大写字母开头{
公共静态void main(字符串[]args){
//测试1——简单句
String s=“敏捷的棕色狐狸跳过懒狗”;
System.out.println(“\n输入字符串:“+s”);
System.out.println(“大写单词:+getCountOfWordsWithInitialCap(s));
//测试2——标点符号和换行符
s=“Lorem ipsum door sit amet,Concetetur adipising elit,sed do eiusmod tempor\n”
+“在劳动和就业方面,我们的收入是最低的,我们的收入是最低的。”
+“ullamco Laboratoris nisi and aliquip ex ea commodo consequat.Duis或irure dolor in reprehenderit\n”
+“在未经许可的情况下,除圣奥卡塔铜外,其他情况下\n”
+“不自以为是,必须为自己的行为负责。”;
System.out.println(“\n输入字符串:“+s”);
System.out.println(“大写单词:+getCountOfWordsWithInitialCap(s));
//测试3——苏格兰sirnames和连字符
s=“敏捷的棕色麦克加文跳过懒惰的麦克戈万狗”;
System.out.println(“\n输入字符串:“+s”);
System.out.println(“大写单词:+getCountOfWordsWithInitialCap(s));
}
私有静态最终模式字,带有\u CAP\u REGEX=Pattern.compile(([A-Z][A-Za-Z]*));
私有静态int getCountOfWordsWithInitialCap(字符串s){
整数计数=0;
Matcher Matcher=带大写字母的单词;
while(matcher.find()){
计数++;
字符串大写DWORD=matcher.group(1);
System.out.println(“\t”+count+”:“+capitalizedWord);//如果不想看到匹配项,请删除
}
返回计数;
}
}

提示:您不需要其他人来处理此类问题。相反:退后一步,想想你自己的测试。问问自己“正常情况”和“边缘情况”等等。考虑不要使用单个字符变量名。如果有的话,请将其用于循环索引。但是其他名称应该告诉读者变量是关于什么的。c、 s。。。什么也不告诉读者。不确定“测试已关闭”是什么意思,您如何运行代码以查看它是否按预期执行?最简单的方法是创建另一个测试类,根据您在文章顶部显示的测试用例字符串运行代码。脱光所有的衣服