假设有这样一个字符串
a~b~c~d~e~f~g~h~i~j~k........
我想知道再这个字符串里有多少个~,
java2的string类中有什么API可以直接使用?
或者给个最简便的算法也行,
谢谢
4 个解决方案
#1
public int countChars(String toSearch,Char c){
short count=0;
for(int i=0;i<toSearch.length();i++)
if (c==toSearch.charAt(i) count++;
return count;
}
public int countChars(String toSearch,Char c){
int count=0,i=0;
while((i=toSearch.indexOf(c,i))!=-1)
count++;
return count;
}
个人觉得相对而言,用for的效率要高一些
short count=0;
for(int i=0;i<toSearch.length();i++)
if (c==toSearch.charAt(i) count++;
return count;
}
public int countChars(String toSearch,Char c){
int count=0,i=0;
while((i=toSearch.indexOf(c,i))!=-1)
count++;
return count;
}
个人觉得相对而言,用for的效率要高一些
#2
抱歉,犯错误了,呵呵
if (c==toSearch.charAt(i) count++;
少了个括号,应该为
if (c==toSearch.charAt(i))count++;
使用while的应该这么写才对
public int countChars(String toSearch,Char c){
int count=0,i=-1;
while((i=toSearch.indexOf(c,i+1))!=-1)
count++;
return count;
}
if (c==toSearch.charAt(i) count++;
少了个括号,应该为
if (c==toSearch.charAt(i))count++;
使用while的应该这么写才对
public int countChars(String toSearch,Char c){
int count=0,i=-1;
while((i=toSearch.indexOf(c,i+1))!=-1)
count++;
return count;
}
#3
用过tokenize没?没用过建议看看,对分字符串和单词很实用。
#4
这个:
String str = "a~b~c~d~e~f~g~h~i~j~k";
int len = str.length();
int count = 0;
for (int i=0;i<len;i++){
if str.charAt(i) == '~' count++;
}
String str = "a~b~c~d~e~f~g~h~i~j~k";
int len = str.length();
int count = 0;
for (int i=0;i<len;i++){
if str.charAt(i) == '~' count++;
}
#1
public int countChars(String toSearch,Char c){
short count=0;
for(int i=0;i<toSearch.length();i++)
if (c==toSearch.charAt(i) count++;
return count;
}
public int countChars(String toSearch,Char c){
int count=0,i=0;
while((i=toSearch.indexOf(c,i))!=-1)
count++;
return count;
}
个人觉得相对而言,用for的效率要高一些
short count=0;
for(int i=0;i<toSearch.length();i++)
if (c==toSearch.charAt(i) count++;
return count;
}
public int countChars(String toSearch,Char c){
int count=0,i=0;
while((i=toSearch.indexOf(c,i))!=-1)
count++;
return count;
}
个人觉得相对而言,用for的效率要高一些
#2
抱歉,犯错误了,呵呵
if (c==toSearch.charAt(i) count++;
少了个括号,应该为
if (c==toSearch.charAt(i))count++;
使用while的应该这么写才对
public int countChars(String toSearch,Char c){
int count=0,i=-1;
while((i=toSearch.indexOf(c,i+1))!=-1)
count++;
return count;
}
if (c==toSearch.charAt(i) count++;
少了个括号,应该为
if (c==toSearch.charAt(i))count++;
使用while的应该这么写才对
public int countChars(String toSearch,Char c){
int count=0,i=-1;
while((i=toSearch.indexOf(c,i+1))!=-1)
count++;
return count;
}
#3
用过tokenize没?没用过建议看看,对分字符串和单词很实用。
#4
这个:
String str = "a~b~c~d~e~f~g~h~i~j~k";
int len = str.length();
int count = 0;
for (int i=0;i<len;i++){
if str.charAt(i) == '~' count++;
}
String str = "a~b~c~d~e~f~g~h~i~j~k";
int len = str.length();
int count = 0;
for (int i=0;i<len;i++){
if str.charAt(i) == '~' count++;
}