【发布时间】:2016-02-28 19:19:31
【问题描述】:
给定一个字符串,如果字符串“bat”和“ball”出现的次数相同,则返回true。
我的方法
我按照上面的方法。我取了字符串“bat”和“ball”。我在字符串中搜索模式“bat”是否存在。我检查了原始字符串的每个字符并与字符进行比较蝙蝠的。类似地,我搜索了图案球。它会返回 true 当球棒和球出现的次数相同时。
下面是我的输出代码。
public boolean equal(String str)
{
String str1="bat";
String str2="ball";
int l=str.length();
int l1=str1.length();
int l2=str2.length();
if((l<l1) || (l<l2))
{
return false;
}
else
{
int m=0;
int n=0;
int countbat=0;
int countball=0;
int p=0;
int j=0;
str=str.toLowerCase();
str1=str1.toLowerCase();
str2=str2.toLowerCase();
while(j<l)
{
char c=str.charAt(j);
char c1=str1.charAt(p);
if(c==c1){
p++;
if(p==l1){
countbat++;
p=0;
}
}
else{
p=0;
}
j++;
}
while(m<l)
{
char c=str.charAt(m);
char c2=str1.charAt(n);
if(c==c2){
n++;
if(n==l2){
countball++;
n=0;
}
}
else
{
n=0;
}
m++;
}
if(countbat==countball)
return true;
else
return false;
}
}
Parameters Actual Output Expected Output
'bat+ball=cricket' null true
我无法获得正确的输出。谁能告诉我 为什么?
【问题讨论】:
-
到底是什么问题?
-
@ashutosh 编辑了代码。
-
@ashutosh 感谢您的关注。
-
我建议您使用调试器并亲自看看为什么您的解决方案没有为您提供正确的输出。