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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 袁术森 中级黑马   /  2013-3-22 17:28  /  1573 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 袁术森 于 2013-3-23 08:41 编辑

1、首先我想问下 当出现无限循环时,dos命令窗可以ctr+c停止。而eclipse中对于这种情况怎么办?
2、就是求长的字符串s1和短的字符串s2的最大相同子串。
  1. package day16;

  2. public class StringTest4maxsub {

  3.         /**
  4.          * @param args
  5.          */
  6.         public static void main(String[] args) {
  7.                 String s1="cabcctvadceb";
  8.                 String s2="abccctv";
  9.                 String maxsub=getMaxSub(s1,s2);
  10.                 System.out.println("maxsub="+maxsub);

  11.         }

  12.         public static String getMaxSub(String s1, String s2) {
  13.                
  14.                 for (int x = 0; x <s2.length(); x++) {
  15.                         for (int y = 0,z=s2.length()-x; z< s2.length(); y++,z++) {
  16.                                 String temp=s2.substring(y, z);
  17.                                 //System.out.println(temp);
  18.                                 if (s1.contains(temp)) {
  19.                                         return temp;
  20.                                 }
  21.                         }
  22.                         
  23.                 }
  24.         return null;
  25.         }

  26. }
复制代码
如上例 除了abcc还有cctv,可是怎么把cctv显示出来呢?求高手写出来啊

点评

记得及时处理帖子哦,继续追问,或将分类改成【已解决】,谢谢  发表于 2013-3-23 08:24

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

1 个回复

倒序浏览
本帖最后由 谭辉 于 2013-3-22 18:38 编辑

先回答第一个问题
eclipse中的控制台有个小的正方形的停止按钮,运行时会变红色,鼠标放在上面会显示terminate如图:C:\Users\lenovo\Desktop\无标题.png
第二个问题:
思路:你上面的代码是短字符每次末尾减少一个长度然后投河为都往右移,
但如果每次把初始位置往后减一再往左移就能达到你的目的,修改如下代码即可:
for (int x = 0; x <s2.length(); x++) {
                        for (int y = x,z=s2.length(); y>=0; y--,z--)

无标题.png (3.95 KB, 下载次数: 57)

无标题.png

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马