A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© AntThinking_toT 高级黑马   /  2014-5-28 15:50  /  1245 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

想要打好基础每日写点代码是必要的,且看下题:
计算字符串中子串出现的次数   

4 个回复

倒序浏览
class d
{
        int count=0;
public  void find()
        {
        String s="aaabaa";
        String key="ab";
int index=0;
while((index=s.indexOf(key,index))!=-1)
                {
index=index+key.length();

        count++;
                }
                System.out.println(count);
        }

}
回复 使用道具 举报
  1. import java.util.Scanner;
  2. public class StrStat
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 String str = null;
  7.                 String subStr = null;
  8.                 int count = 0;
  9.                 do{
  10.                         System.out.println("#############################################");
  11.                         System.out.print("输入字符串:");
  12.                         str = getStr();
  13.                         if(str.equals("over")){
  14.                                 System.out.println("谢谢使用");
  15.                                 break;
  16.                         }
  17.                         System.out.print("再输入子串:");
  18.                         subStr = getStr();
  19.                         if(subStr.equals("over")){
  20.                                 System.out.println("谢谢使用");
  21.                                 break;
  22.                         }
  23.                         count = statStr(str,subStr);
  24.                         System.out.println("子串出现次数为 "+count);
  25.                 }while(true);
  26.         }
  27.         /**
  28.          * 获取输入字符串
  29.          */
  30.         private static String getStr(){
  31.                 Scanner s = new Scanner(System.in);
  32.                 return s.nextLine();
  33.         }
  34.         /**
  35.          * 统计子串个数
  36.          */
  37.         private static int statStr(String str,String subStr){
  38.                 //子串计数
  39.                 int subCount = 0;
  40.                 //下标记录
  41.                 int index = 0;
  42.                 //不断循环直到不能找到子串
  43.                 while((index = str.indexOf(subStr,index)) != -1){
  44.                         //下标移动
  45.                         index += subStr.length();
  46.                         //子串计数++
  47.                         subCount++;
  48.                 }
  49.                 return subCount;
  50.         }
  51. }
复制代码
回复 使用道具 举报
海世山盟 发表于 2014-5-28 16:20
class d
{
        int count=0;

哥们,你好厉害啊,如果再把main函数加上再把类名大写就更完美了。
回复 使用道具 举报
  1. public class Td{
  2.         public static void main(String[] args){
  3.                 int side=0;
  4.                 while(true){
  5.                         side = args[0].indexOf(args[1],side);
  6.                         if(side!=-1){
  7.                                 System.out.println(side+"---");
  8.                         }else{
  9.                                 break;
  10.                         }
  11.                         side += 1;
  12.                 }
  13.         }
  14. }
复制代码


E:\>java Td addadffdadvcadf ad
0---
3---
8---
12---
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马