Rumah  >  Artikel  >  Java  >  Java中String方法获取字符出现次数以及字符最大相同部分的代码分享

Java中String方法获取字符出现次数以及字符最大相同部分的代码分享

黄舟
黄舟asal
2017-09-07 10:19:521856semak imbas

这篇文章主要介绍了Java String方法获取字符出现次数及字符最大相同部分,涉及java字符串的遍历、比较、计算等相关操作技巧,需要的朋友可以参考下

本文实例讲述了Java String方法获取字符出现次数及字符最大相同部分。分享给大家供大家参考,具体如下:


package demo;
public class Test {
  public static void main(String[] args) {
    String str = "dasdalldsdslldsdszxll";
    System.out.println("count="+get(str,"ll"));//打印ll出现的次数
    String s1 = "asdhellovdvdvv";
    String s2 = "cvfhelloff";
    System.out.println("temp="+gett(s1,s2));//打印两个字符串最大相同的部分
  }
  /* public static int get(String str,String key)
  {
    int count = 0;
    int index = 0;//定义一个位置
    while((index = str.indexOf(key))!=-1)//直到取不到需要的字符结束循环
    {
      str = str.substring(index + key.length());//字符串长度变化获得新的字符串
      count++;
    }
    return count;
  }
  */
  //第二种方法,大同小异
  public static int get(String str,String key)
  {
    int count = 0;
    int index = 0;
    while((index = str.indexOf(key,index))!=-1)
    {
      index = index + key.length();
      count ++;
    }
    return count;
  }
  public static String gett(String s1,String s2)
  {
    String max = "";
    String min = "";
    max = s1.length() > s2.length()?s1:s2;
    min = max == s1?s2:s1;//取短的字符串比较节省内存
    for(int x = 0;x < min.length();x++)
    {
      for(int y = 0,z = min.length() -x;z!=min.length()+1;y++,z++)
      {
        String temp = min.substring(y,z);
        if(max.contains(temp))
          return temp;
      }
    }
    return "";
  }
}

运行结果:

Atas ialah kandungan terperinci Java中String方法获取字符出现次数以及字符最大相同部分的代码分享. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn