黑马程序员技术交流社区
标题:
急急...交集字符串中返回语句有什么意义
[打印本页]
作者:
小十
时间:
2015-3-10 16:52
标题:
急急...交集字符串中返回语句有什么意义
public class DeMo14 {
public static String getMaxSubString(String s1,String s2){
String max = "",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;z++,y++){
String temp = min.substring(y,z);
if(max.contains(temp))
return temp;
}
}
return min;
}
public static void main(String[] args) {
//两个字符串相比较输出其中最大的相同字符数。
String s1 = "asdqweroerhellofajfg";
String s2 = "enhqhellonge";
String str = getMaxSubString(s1,s2);
System.out.println(str);
}
}
代码中return min返回语句在程序中有没有意义?还是只是起让程序通过的作用?写成return“”也可以通过呀。。。求解!
作者:
突然世界晴
时间:
2015-3-10 17:15
肯定是有意义的。
if(max.contains(temp))
return temp;
如果if为true 则执行return temp;
如果if为false
则执行return min.
有返回语句肯定成功通过编译的。
作者:
yangruijing
时间:
2015-3-10 17:47
并非没有意义,循环语句中的return语句是在找到了最大子串时执行的,当两个字符串没有交集时,则执行循环语句外面的return语句,此时return语句应返回null,证明没有找到子串
作者:
zhaotiao3080
时间:
2015-3-10 18:15
写成return min;那样写,不严谨。当s1和s2有相同字符时运行结果没错!当s1和s2没有相同字符时,结果就与题目要求不符了!我觉得改成这样比较好!
package demo;
public class DemoMaxSubString {
public static String getMaxSubString(String s1,String s2){
String max = "",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;z++,y++){
String temp = min.substring(y,z);
if(max.contains(temp))
return temp;
}
}
return null;
}
public static void main(String[] args) {
//两个字符串相比较输出其中最大的相同字符数。
String s1 = "asdqweroerhellofajfg";
复制代码
作者:
zhaotiao3080
时间:
2015-3-10 18:20
String s2 = "xyzut";
String str = getMaxSubString(s1,s2);
if(str==null){
System.out.println("s1,s2没有相同字符!");
}
else {
System.out.println(str);
}
}
}
复制代码
一次还贴不完
作者:
pop1234o
时间:
2015-3-10 20:49
就是,没找到就返回,两个字符串较少的那个,应该是return null
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2