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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蒋淑静 中级黑马   /  2013-12-14 02:58  /  2693 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 蒋淑静 于 2013-12-14 20:22 编辑
  1. package _2012;

  2. class StringTest1
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 String s1="abcwerthelloyuiodef";
  7.                 String s2="cvhellobnm";
  8.                 getMaxSubString(s1,s2);
  9.         }

  10.         public static String getMaxSubString(String s1,String s2){        
  11.                 String max="";
  12.                 String min="";
  13.                 max=(s1.length()>s2.length())?s1:s2;
  14.                 min=(max==s1)?s2:s1;
  15.                 for(int x=0;x<min.length();x++){
  16.                         for(int y=0,z<min.length()-x;z!=(min.length()+1);y++,z++){
  17.                         String temp=min.substring(y,z);
  18.                         if(max.contains(temp)){
  19.                                 return temp;
  20.                           }
  21.                         }
  22.                
  23.                 }
  24.                 return "";
  25.         }
  26.         
  27. }
复制代码

for循环的条件语句可以这样写吗,我编译时会报错,不知道怎么该,for(int y=0,z<min.length()-x;z!=(min.length()+1);y++,z++)

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 太晚睡对身体不好的!

查看全部评分

10 个回复

倒序浏览
FFF 金牌黑马 2013-12-14 08:29:32
沙发
同学,你的z的值声明的是什么、
min的值声明的又是什么?
问题问得不够清楚哦~
回复 使用道具 举报
本帖最后由 落木萧萧 于 2013-12-14 09:45 编辑

for语句格式是
for(初始化表达式;   判断表达式;    递增(递减)表达式){
    执行语句;   //一段代码
}

所以是不能把
  1. int y=0,z<min.length()-x;
复制代码

放到一起的。
回复 使用道具 举报
没有定义Z变量。你应该全贴出来,这样才能知道 原因
回复 使用道具 举报
我把全部的都贴出来了,大家帮忙看看奥
回复 使用道具 举报
FFF 金牌黑马 2013-12-14 14:54:48
地板
蒋淑静 发表于 2013-12-14 10:48
我把全部的都贴出来了,大家帮忙看看奥

妹子,你的z的值声明的是什么?还是忘记声明了?
回复 使用道具 举报
你仔细看看你的这个for结构 你是这样写的  for(int y=0,z<min.length()-x; z!=(min.length()+1); y++,z++)  看出问题了没,z<min.length()-x  这是一个条件语句不是赋值语句。注意分号位置。
应这样写 for(int y=0;   z<min.length()-x && z!=(min.length()+1);    y++,z++)  就对了。
回复 使用道具 举报
本帖最后由 Silm_Shady 于 2013-12-14 16:37 编辑

顶一个!
回复 使用道具 举报
李然 中级黑马 2013-12-14 16:42:23
9#
兄弟,最简单理解方法就是:z<min.length()-x返回的是布尔型,并不是对变量z的初始化,所以应该放在for中间的判断表达式部分!
回复 使用道具 举报
FFF 发表于 2013-12-14 14:54
妹子,你的z的值声明的是什么?还是忘记声明了?

是这个样子的就对了,for(int y=0,z=min.length()-x;z!=(min.length()+1);y++,z++);z的初始化错了,谢谢你喽
回复 使用道具 举报
for(int y=0,z=min.length()-x;z!=(min.length()+1);y++,z++);这样就对了,我的z初始化错了,谢谢大家的提醒
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马