- public static void getMax(String s1, String s2)
- {
- String ls = s1.length()>s2.length() ? s1:s2; //将长的字符串赋予ls
- String ss = ls==s1 ? s2:s1; //将短的字符串赋予ss
- B: for (int i=0; i<ss.length() ; i++ ) //循环获取字符串 最长不能大于ss
- { //这里每次循环获得的是长度为ss.length()-i 的所有字符串
- A: for (int y=0,z=ss.length()-i; z!=ss.length()+1 ; y++,z++ )//这里的z就是每次循环时z的最大长度,而y,z都+1就是整个框向右移动
- {
- String temp = ss.substring(y,z); //这里y,z是获取的边界
- System.out.println(temp);
- }
- }
- }
- 其实这个代码相当于给你这个数字串[ 1,2,3,4,5,6,7,8,9...N],然后让你定义一个箱子去装他们,箱子的大小为N-i
- 第一次就是能装N数的框,然后跳出循环,将i+1,然后第二次就拿一个装N-1个的框,从第一个装只能装到第N-1个数,从第二个开始能装到第N个,但是从第三个开始装就不满足条件了,因为框没装满,所以就会跳出循环A.这样不断循环就会获取这个数字串在不同长度下的数字种类了。
希望能对你有帮助!
|