本帖最后由 杨兴庭 于 2013-7-30 22:48 编辑
- class Test50
- {
- public static void compare(String s1, String s2){
- if(s1.length()<s2.length()){
- String str=s1;
- s1 = s2;
- s2 = str;
- }
- }
- public static void main(String[] args)
- {
- String s2="abcwerthelloyuiodef";
- String s1="cvhellobnm";
-
- compare(s1,s2);
- System.out.println("较大长度值:"+s1+" "+"较小长度值:"+s2);
- }
- }
复制代码 如果我想用一个方法,获取两个字符串中较长和较短的值,为什么这种交换的方法不管用,是不是String类型的对象在一建立时就不能改变了?所以s1、s2不能交换?那如何用一个方法实现呢?因为我需要调用这个方法,使它的结果可以用到别的方法中。例如下面这段:- /*
- 练习四:获取一个字符串在另一个字符串中出现的次数。
- */
- class StringTest4
- {
- public static void compare(String s1, String s2){
- if(s1.length()s2.length()){
- String str=s1;
- s1 = s2;
- s2 = str;
- }
- }
- public static String getMaxSubString(String s1,String s2)
- {
- //String max=getMax(s1,s2);
- //String min=getMin(s1,s2);
- //String max="",min="";
- //max=(s1.length()>s2.length())?s1:s2;
- //min=(max==s1)?s2:s1;
- compare(s1,s2);
- String max=s1;
- String min=s2;
- 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);
- sop(temp);
- if(max.contains(temp))
- return temp;
- }
- }
- return "";
- }
- public static void main(String[] args)
- {
- String s2="abcwerthelloyuiodef";
- String s1="cvhellobnm";
- sop(getMaxSubString(s1,s2));
- }
- public static void sop(String str)
- {
- System.out.println(str);
- }
- }
复制代码 那段获取较大和较小长度的方法怎么改?
|