如何用java求一个字符串在另一个字符串中出现的位置?

输入任意一个字符串!输入在上一个字符串中的一个或一组字或词!计算这个字或词在输入的那个字符串中出现了几次!... 输入任意一个字符串!输入在上一个字符串中的一个或一组字或词!计算这个字或词在输入的那个字符串中出现了几次! 展开
 我来答
Raymondguo008
推荐于2016-08-25 · TA获得超过1634个赞
知道小有建树答主
回答量:887
采纳率:100%
帮助的人:478万
展开全部
import java.util.*;

public class CountChars {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
System.out.println("Please Input Your String!");
String str = sc.nextLine();
Map<Character, Integer> map = countLetters(str);
System.out.println("total kinds: " + map.size());

for (Map.Entry<Character, Integer> entry : map.entrySet()) { //增强的for循环
System.out.printf("letter %c: %d\n", entry.getKey(), entry.getValue());
}
}

static Map<Character, Integer> countLetters(String s) {
if (s == null) {
return null;
}
Map<Character, Integer> map = new HashMap<Character, Integer>();
char c;
Integer oldValue;
int newValue;
for (int i = 0; i < s.length(); ++i) {
c = s.charAt(i);
oldValue = map.get(c);
newValue = (oldValue == null) ? 1 : oldValue.intValue() + 1;
map.put(c, newValue);
}
return map;
}
}
long_557799
2009-05-22 · 超过26用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:0
展开全部
楼上的方法很好,我来写个我的一个方法
import java.util.*;

public class Count
{
static int countNum=0;
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.println("Please Input Your String!");
String str = sc.nextLine();
System.out.println("Please Input Your subString!");
String substr = sc.nextLine();
count(str, substr);
System.out.println(substr+" exist in "+str+" "+countNum+" times");
}

public static void count(String str, String substr)
{
int a = str.indexOf(substr);
if (a != -1)
{
str = str.substring(a+substr.length());
countNum++;
count(str, substr);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式