JAVA编程:给定一串字符串(英文段落),用户输入某个单词,求该单词出现的总次数,和出现在第几个位置上。

给定一串字符串(英文段落),用户输入某个单词,求该单词出现的总次数,和出现在第几个位置上。... 给定一串字符串(英文段落),用户输入某个单词,求该单词出现的总次数,和出现在第几个位置上。 展开
 我来答
百度网友211658b42
2014-12-06 · TA获得超过3383个赞
知道小有建树答主
回答量:606
采纳率:100%
帮助的人:602万
展开全部
String方法不是有indexOf方法么,对给定的英文段落字符串使用indexOf方法来寻找用户输入关键词的出现位置,找到的话总次数加1,并且将英文段落字符串从找到位置开始截断,取截断位置后面剩下的字符串再次使用indexOf方法尝试寻找下一个。循环这个过程直到找不到为止。
匿名用户
2014-12-06
展开全部
public class Demo5 {
public static void main(String args[]){
String str="good good stary,day day up";
int sum=0;
for(int i=0;i<str.length();i++){ 
  String subStr = str.substring(i, i+1);
  int j=0;
  if(subStr.equals("d")){
  j++;
  sum+=j;
  System.out.println(subStr+"\t"+(i+1));
  }  
}
System.out.println("共出现:"+sum+"次");
}
}
追问
还有出现在第几个位置上怎么写?
追答

看错了题目是单词不是字母,等等,帮你改改

public class Demo5 {
public static void main(String args[]){
String str="good good strudy,day day up";
int sum=0;
List<Integer> list=new ArrayList<Integer>();
Map<Integer,String> map=new HashMap<Integer, String>();
String[] words=str.split(" |,");
for(int i=0;i<words.length;i++){
map.put(i,words[i]);   
}
Set  set=map.entrySet();       
Iterator   iterator=set.iterator();           
while (iterator.hasNext() ){        
    Map.Entry  mapentry = (Map.Entry) iterator.next();  
    int j=0; 
    if(mapentry.getValue().equals("good")){
     j++;
     sum+=j;
     list.add((Integer) mapentry.getKey()+1); 
    }    

System.out.println("一共出现:"+sum+";"+"位置分别是:"+list.toString());
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式