1、给定一个字符串数组。按照字典顺序进行从小到大的排序。

* 思路:
* 1,对数组排序。可以用选择,冒泡都行。
* 2,for嵌套和比较以及换位。
* 3,问题:以前排的是整数,比较用的比较运算符,可是现在是字符串对象。
* 字符串对象怎么比较呢?爽了,对象中提供了用于字符串对象比较的功能。

 public static void sort(String[] strings){
String temp = null;
for(int i=0;i<strings.length;i++){
for(int j = i+1;j<=strings.length-1;j++){
if(strings[i].compareTo(strings[j])>0){
temp = strings[i];
strings[i]=strings[j];
strings[j]= temp;
}
}
}
}

2、一个子串在整串中出现的次数

* 思路:
* 1,要找的子串是否存在,如果存在获取其出现的位置。这个可以使用indexOf完成。
* 2,如果找到了,那么就记录出现的位置并在剩余的字符串中继续查找该子串,
* 而剩余字符串的起始位是出现位置+子串的长度.

* 3,以此类推,通过循环完成查找,如果找不到就是-1,并对 每次找到用计数器记录。

 public static int sum(String string,String string1){
int length = string1.length();
int count = 0;
int index = string.indexOf(string1);
while(index!=-1){
count++;
index = string.indexOf(string1,index+length);
}
return count;
}

3、两个字符串中最大相同的子串

* 思路:
* 1,既然取得是最大子串,先看短的那个字符串是否在长的那个字符串中。
* 如果存在,短的那个字符串就是最大子串。
* 2,如果不是呢,那么就将短的那个子串进行长度递减的方式去子串,去长串中判断是否存在。
* 如果存在就已找到,就不用在找了。

 public static String getMaxSubstring(String s1, String s2) {

         String max = null,min = null;
max = (s1.length()>s2.length())?s1:s2; min = max.equals(s1)?s2:s1; System.out.println("max="+max);
System.out.println("min="+min); for (int i = 0; i < min.length(); i++) { for(int a = 0,b = min.length()-i; b != min.length()+1; a++,b++){ String sub = min.substring(a, b);
// System.out.println(sub);
if(max.contains(sub))
return sub;
}
} return null;
}

4、模拟一个trim功能一致的方法。去除字符串两端的空白
* 思路:
* 1,定义两个变量。
* 一个变量作为从头开始判断字符串空格的角标。不断++。
* 一个变量作为从尾开始判断字符串空格的角标。不断--。
* 2,判断到不是空格为止,取头尾之间的字符串即可。
*/

 public static String myTrim(String s) {

         int start = 0, end = s.length() - 1;

         while (start <= end && s.charAt(start) == ' ') {
start++;
}
while (start <= end && s.charAt(end) == ' ') {
end--;
}
return s.substring(start, end + 1);
}

最新文章

  1. UP Board 网络设置一本通
  2. [SSH] SSH学习笔记 - 远程登录
  3. docker初学笔记
  4. 2016/9/21 leetcode 解题笔记 395.Longest Substring with At Least K Repeating Characters
  5. 构建seajs业务模块之grunt VS spm build
  6. IntelliJ IDEA 中properties中文显示问题
  7. 解决VS2010控制台程序运行结束不显示请按任意键继续
  8. C#开发的WebService使用JSON格式传递数据+Ajax测试
  9. WinForm窗体设置
  10. Redhat6.4下配置本地yum
  11. 结对作业1--基于GUI的四则运算
  12. 201521123106 《Java程序设计》第5周学习总结
  13. Codeforces 840C. On the Bench 动态规划 排列组合
  14. 福州大学软件工程1816 | W班 第8次作业[团队作业,随堂小测——校友录]
  15. socket.timeout: The read operation timed out 更改pip源至国内镜像,显著提升下载速度
  16. SpringMVC+Thymeleaf +HTML的简单框架
  17. Exception 07 : org.hibernate.LazyInitializationException: could not initialize proxy - no Session
  18. SRM387 div1
  19. WinForm 之 应用程序开机自启动设置方法
  20. C# EF中调用 存储过程并调回参数

热门文章

  1. CSS3属性text-overflow(省略符)实战开发详解
  2. Java设计模式--------建造者模式(Builder模式)
  3. leetcode Merge Two Sorted Lists python
  4. WARNING:Could not increase the asynch I/O limit to 64 for SQL direct I/O. It is set to 0
  5. iframe中调用父iframe中的方法
  6. html5的自定义data-*属性与jquery的data()方法的使用
  7. High Context とLow Context文化
  8. centos6.5编译android-2.2_froyo的几个问题jdk,gcc,arm-gcc
  9. core_cm3.c解析
  10. iOS 4.2 SDK安装