黑马程序员技术交流社区
标题:
小程序:解析一个字符串 出错求解
[打印本页]
作者:
张振纲
时间:
2012-8-29 14:00
标题:
小程序:解析一个字符串 出错求解
本帖最后由 张振纲 于 2012-8-29 14:06 编辑
package Exercise;
public class charTime {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String s = " sdjkfljasd ";
int times = 0; //定义一个计数器
int index = 0;
char key ;
for (int i = 0; i < s.length(); i++) {
key = s.charAt(i); <FONT color=red>获取字符串的第一个字符</FONT>
while(s.indexOf(key)!=-1){ <FONT color=red>然后以这个字符串中有无这个字符为条件循环</FONT><FONT color=red>
</FONT> s=s.substring(s.indexOf(key)+1); <FONT color=red>有就截取后面的字符串,继续查找
</FONT> times++; <FONT color=red> 计数器递增
</FONT> }
System.out.println("'"+key+"'"+"="+times);
}
}
}
<FONT color=red>想让key依次获取字符串中的字符并且去作为key查找次数,怎么实现</FONT>
复制代码
作者:
于启会
时间:
2012-8-29 14:29
上面代码中key = s.charAt(i);然后进入while循环,在while循环中找到一个s的(s.indexOf(key)位置,就截取,一直到找不到该位置结束,这样s = " sdjkfljasd ",第一个是" ",最后一个也是" "所以s在进入while循环中就截取完了。while外层的for循环就只进一次。所以你的到的key是s的第一个元素" " times查找的次数是s字符串中" "的个数。
作者:
尤泽红
时间:
2012-8-29 14:49
public class test1 {
public static void main(String[] args) {
String s = " sdjkfljasd ";
int times = 0; //定义一个计数器
int index = 0;
char key ;
for (int i = 0; i < s.length(); i++) {
key = s.charAt(i); // <FONT color=red>获取字符串的第一个字符</FONT>
while(s.indexOf(key)!=-1){ // <FONT color=red>然后以这个字符串中有无这个字符为条件循环</FONT><FONT color=red></FONT>
s=s.substring(s.indexOf(key)+1); // <FONT color=red>有就截取后面的字符串,继续查找</FONT>
times++; // <FONT color=red> 计数器递增//</FONT>
}
System.out.println("'"+key+"'"+"="+times);
}
}
}
//输出结果:' '=8
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2