P1308统计单词数

 

思路:使用Stirng中的方法先转换为小写字母,再用sqlit分隔,最后在用String自带的方法查找到单词第一次出现的位置,同时也要保证单词都是单独出现的,

所以该字符串前后要拼接空格后再去匹配,返回的位置加1就是首次出现的位置

具体每步的思路都在代码里

 

 

import java.util.*;
public class Main {
    static int count, first;//定义一个出现的字符,和第一次出现的位置
    public static void main(String[] args) {
        // TODO 自动生成的方法存根   
        Scanner in=new Scanner(System.in);
        String key=in.next().toLowerCase();//获取第一行的输入将字符转化为小写字母
        in.nextLine();
        String str=in.nextLine().toLowerCase();//获取第二行的输入
        String [] strPer=str.split(" ");//用空格分开,每个单词存入strPer数组中
        for(int i=0;i<strPer.length;i++)
        {
            if(key.equals(strPer[i]))//如果输入的字符串和单词有匹配
                count++;
        }
            if(count==0)//如果没有匹配的,输出为-1    
            {        
                System.out.println(-1);
            }
            else 
                {
                if(key.equals(str.substring(0,key.length())))//如果字符串的第一个字母和key相等,输出为0                
                {
                    first=0;
                }
            else        
                first=str.indexOf(" "+key+" ")+1;//前后添加空格是为了保证该单词都是单独出现的,不是其他单词所包含的    
                ////字符串的indexOf(String)方法会返回String第一次出现的位置
                System.out.println(count+" "+first);
            }
       }
}
View Code

 

posted @ 2020-04-17 13:26  今天喝奶茶了吗  阅读(159)  评论(0)    收藏  举报