黑马程序员技术交流社区

标题: java基础知识求解!! [打印本页]

作者: 521123270    时间: 2015-3-11 14:54
标题: java基础知识求解!!
public class StringTest_3 {
/**
  * @param args
  */
public static void main(String[] args) {
  String s1 = "qwerabcdyuiop";
  String s2 = "xcabcdvbn";
  
  String s = getMaxSubstring(s1,s2);
  System.out.println("s="+s);
}
/**
  * 获取最大子串。
  * @param s1
  * @param s2
  * @return
  */
public static String getMaxSubstring(String s1, String s2) {

  for (int i = 0; i < s2.length(); i++) {   
   
   for(int a = 0,b = s2.length()-1;b != s2.length()+1;a++,b++){
    String sub = s2.substring(a,b);
   
//    System.out.println(sub);
    if(s1.contains(sub));
     return sub;
   }
      
  }
  return null;
}
}
为什么fr循环a b那个!会死代码的?

作者: 521123270    时间: 2015-3-11 14:55
for循环ab ,两个字符串中最大相同的子串。
作者: 艺多不压身丶    时间: 2015-3-11 14:58
  1. package pack;
  2. class StringTest3{
  3.         public static void sop(Object obj){
  4.                 System.out.println(obj);
  5.         }
  6.         public static void main(String[] args){
  7.                 String s1="abcwerthelloyuiodef";
  8.                 String s2="cvhellobnm";
  9.                 sop(getMaxSubString(s1,s2));
  10.         }
  11.         public static String getMaxSubString(String s1,String s2){
  12.                 String max="",min="";
  13.                 max=(s1.length()>s2.length())?s1:s2;
  14.                 min=(max==min)?s1:s2;
  15.                 sop(max);sop(min);
  16.                 for(int x=0; x<min.length(); x++){
  17.                         for(int y=0,z=min.length()-x; z!=min.length()+1; y++,z++){
  18.                                 String temp=min.substring(y,z);
  19.                                 if(max.contains(temp))
  20.                                         return "相同子串:"+temp;
  21.                         }
  22.                 }
  23.                 return "";
  24.         }
  25. }
复制代码

作者: 521123270    时间: 2015-3-11 16:12
艺多不压身丶 发表于 2015-3-11 14:58

我想知道的是我敲那个代码为什么会死代码?求原因!!跟着视频敲的!!
作者: 521123270    时间: 2015-3-11 17:25
521123270 发表于 2015-3-11 16:12
我想知道的是我敲那个代码为什么会死代码?求原因!!跟着视频敲的!! ...

dead code  : for(int a = 0,b = s2.length()-1;b != s2.length()+1;a++,b++){

这句话无效的!变到直接打印S2了!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2