A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 521123270 中级黑马   /  2015-3-11 14:54  /  898 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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那个!会死代码的?

5 个回复

倒序浏览
for循环ab ,两个字符串中最大相同的子串。
回复 使用道具 举报

回帖奖励 +1

  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. }
复制代码
回复 使用道具 举报

我想知道的是我敲那个代码为什么会死代码?求原因!!跟着视频敲的!!

点评

才学疏浅。死代码什么意思  发表于 2015-3-11 17:19
回复 使用道具 举报
521123270 发表于 2015-3-11 16:12
我想知道的是我敲那个代码为什么会死代码?求原因!!跟着视频敲的!! ...

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

这句话无效的!变到直接打印S2了!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马