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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

        1.定义一个将两边空格去掉的方法       
        2.将一个字符串进行反转
          将一个字符串指定位置反转
        3.获取一个字符串在另一个字符串中出现的次数。
        asfkkaswkkzxcwkkqwqswkkcxzkk  kk出现的次数
        4.获取两个字符串中最大相同的子串。
        asqehelloasdxzc
        zqhellodc

  1. class Test
  2. {
  3.         public static void sop(Object obj)
  4.         {
  5.                 System.out.println(obj);
  6.         }
  7.         public static void main(String[] args)
  8.         {
  9.                 //String a = new String("  ab cd  ");
  10.                 //sop(method(a));
  11.                 //sop(method_2(a));
  12.                 //String a = "asfkkaswkkzxcwkkqwqswkkcxzkk";
  13.                 //sop(method_3(a,"kk"));
  14.                 String s1 = "asqehelloasdxzc";
  15.                 String s2 = "zqhellodc";
  16.                 sop(method_4(s1,s2));
  17.         }
  18.        
  19.         //获取两个字符串中最大相同的子串。
  20.         public static String method_4(String s1 ,String s2)
  21.         {
  22.                 String max , min;
  23.                 max = (s1.length() > s2.length())?s1:s2;
  24.                 min = (max == s1)?s2:s1;

  25.                 for (int x = 0; x < min.length() ; x++)
  26.                 {
  27.                         for (int y = 0 , z = min.length()-x; z < min.length()+1 ;y++,z++ )
  28.                         {
  29.                                 String temp = min.substring(y,z);
  30.                                 if(max.contains(temp))
  31.                                         return temp;
  32.                         }
  33.                 }
  34.                 return "-1";
  35.         }

  36.         //获取一个字符串在另一个字符串中出现的次数。
  37.         public static int method_3(String str ,String key)
  38.         {
  39.                 int count = 0,index = 0;

  40.                 while((index = str.indexOf(key)) != -1)
  41.                 {
  42.                         str = str.substring(index+key.length());
  43.                         count++;
  44.                 }
  45.                
  46.                 return count;
  47.                
  48.         }

  49.         //将一个字符串指定位置反转
  50.         public static String method_2(String str ,int x ,int y)
  51.         {
  52.                 //将其转换成字符数组
  53.                         char[] ch = str.toCharArray();

  54.                 //将其反转
  55.                         fan(ch,x,y);

  56.                 //return将反转的数组转换成字符串
  57.                 return String.valueOf(ch);
  58.         }
  59.         //将一个字符串进行反转
  60.         public static String method_2(String str)
  61.         {
  62.                 return method_2(str,0,str.length()-1);
  63.         }
  64.         private static void fan(char[] ch,int x ,int y)
  65.         {
  66.                 for (int a = x , b = y ; a<b ;a++,b-- )
  67.                 {
  68.                         temp(ch,a,b);
  69.                 }
  70.         }
  71.         private static void temp(char[]ch,int x,int y )
  72.         {
  73.                 char temp = ch[x];
  74.                 ch[x] = ch[y];
  75.                 ch[y] = temp;
  76.         }


  77.         //将两边空格去掉的方法
  78.         public static String method_1(String str)
  79.         {
  80.                 //将其转换成字符数组
  81.                         char[] ch = str.toCharArray();

  82.                 int start = 0 , end = str.length()-1;
  83.                 //判断空格,记录不是空格的首尾角标
  84.                 while(start <= end && str.charAt(start) == ' ')
  85.                         start++;

  86.                 while(start <= end && str.charAt(end) == ' ')
  87.                         end--;

  88.                 return str.substring(start , end+1) ;
  89.         }
  90. }
复制代码





1 个回复

倒序浏览
您需要登录后才可以回帖 登录 | 加入黑马