【发布时间】:2015-11-21 15:33:30
【问题描述】:
返回字符串“hello/Hello/...etc”在给定字符串中出现的次数。
问题的不同之处在于
字符串 hello 在任何情况下都可以是大写或小写。
示例输入 #1
count("abc hello def")
示例输出 #1
1
示例输入 #2
count("你好。你好。你好。好的")
示例输出 #2
2
示例输入 #3
计数(“嗨”)
示例输出 #3
0
我的方法
public int count(String str)
{
String str1="Hello";
int l=str.length();
int l1=str1.length();
if(l<l1)
{
return 0;
}
else
{
int count=0;
int p=0;
int j=0;
while(j<l)
{
char c=str.charAt(j);
char c1=str1.charAt(p);
if(c==c1)
{
p++;
if(p==l1)
{
count++;
p=0;
}
}
else
{
p=0;
}
j++;
}
return count;
}
}
Output TestcaseParameters Testcase Actual Answer Expected
No output 'HELLO how are you' 0 1
我得到以下输出。
谁能告诉我我做错了什么?
【问题讨论】:
-
@RileyCarney
contains无助于计数。 -
+ 32和- 32逻辑是否旨在处理大写与小写?您可以查看stackoverflow.com/questions/10320200/… 以获得更好的方法。 -
我已经更新了我的代码。唯一的区别是我需要找到的字符串模式在任何情况下都可以。
-
@Jasonarora:我在第一个版本中并不清楚。但是您不能将全部转换为小写并使用另一个问题中的一种方法吗?
标签: java loops if-statement