黑马程序员技术交流社区

标题: java for循环里面条件表达式不能有多个? [打印本页]

作者: 常万    时间: 2012-4-20 13:32
标题: java for循环里面条件表达式不能有多个?
public static String method(String str)
{
  //int start = 0,end = str.length()-1;
  
  for (int start =0,end=str.length()-1;start<=end && str.charAt(start)==' ',start<=end && str.charAt(end)==' ';start++,end-- )
  {
   return str.substring(start,end+1);
  }
  /*
  while (start<=end && str.charAt(start)==' ')
  {
   start++;
  }
  while (start<=end && str.charAt(end)==' ')
  {
   end--;
  }
  return str.substring(start,end+1);
  */
}
我想用for循环写实现/**/号注释的内容怎么写?
作者: 蒋亮    时间: 2012-4-20 13:43
for (int start =0,end=str.length()-1;start<=end && str.charAt(start)==' '|start<=end && str.charAt(end)==' ';start++,end-- )

作者: 常万    时间: 2012-4-20 14:04
jl_qiqi 发表于 2012-4-20 13:43
for (int start =0,end=str.length()-1;start

大侠,你这样for语句没问题,但是提示method方法返回值类型必须为String类型的结果....
作者: 蒋亮    时间: 2012-4-20 14:07
常万 发表于 2012-4-20 14:04
大侠,你这样for语句没问题,但是提示method方法返回值类型必须为String类型的结果.... ...

return str.substring(start,end+1);
你这不是返回了一个String类型的字符串吗?你把return语句放外面去,在循环里面截取字符串,执行完循环后再返回字符串
作者: 许飞翔    时间: 2012-4-20 14:17
我觉得你要写成for循环,应该写成2个For循环,如果写成一个for循环是有矛盾的。
for循环条件表达式写成2个,怎么知道要调用哪个条件表达式了?
作者: 邵中国    时间: 2012-4-20 19:02
本帖最后由 yuanshilieshou 于 2012-4-20 19:04 编辑

        String m=null;
        for(int start =0,end = str.length()-1;start<=end &&str.charAt(start)!=' '|start<=end&&str.charAt(end)!=' ';start++,end--)
        {
                m= str.substring(start,end+1);
        }
        return m;
感觉不太好,如果两个不同的条件放在一块,会出现少加一次多减一次情况吧,也太长了
作者: 常万    时间: 2012-4-20 22:16
yuanshilieshou 发表于 2012-4-20 19:02
String m=null;
        for(int start =0,end = str.length()-1;start

确实不好弄,这样还是报错...应该for循环里面在加if判断吧。一个for循环搞不定:dizzy:
作者: 邵中国    时间: 2012-4-21 13:34
没报错啊,我试了,可以通过啊




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