【问题标题】:Java Strings and ReturnsJava 字符串和返回
【发布时间】:2019-03-13 12:29:00
【问题描述】:

当我对 String s 使用单词(“空格”)时,我得到了“ac”的结果。

public static String boom( String s )
{
  if(s.length()>5)
  {
    return s.substring(2,4);
  }
  if(s.length()>1)
  {
    return "" + s.charAt(1) + s.charAt(s.length()-1);
  }
  return s;
}

我了解如何满足第一个条件以及产生的子字符串,但是,为什么第二个条件不执行下一条语句?字符串的长度大于1。这是因为一旦执行第一个return,程序就结束了?如果我想在 1 个方法中有多个返回值,是否需要使用数组或其他东西?提前致谢!

【问题讨论】:

  • 你回答了你的问题“一旦执行第一次返回,程序就完成了”
  • 函数在达到return 时退出。您希望返回什么结果?
  • 为了你自己,也为了那些阅读你代码的人,缩进它。
  • returning之前使用OR(||)运算符、AND(&&)运算符进行多重检查
  • @Nick 但是你期望返回什么?

标签: java string return


【解决方案1】:

return 导致函数的执行停止,返回值。

尝试类似...

public static String boom ( String s ) 
{ 
   if ( s.length ()> 5 ) { 
      s = s.substring ( 2 , 4 ); 
   }
   if ( s.length ()> 1 ) { 
      s = "" + s.charAt( 0 ) + s.charAt( s.length()- 1 );
   }
   return s; 
}

【讨论】:

  • 如果长度为 5,则第二个 if 块不会改变任何内容(尽管创建了一个新的字符串实例),因为第一个 if 块将在 s 中仅保留 2 个字符
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-09
  • 2016-10-27
  • 2013-12-17
  • 2015-02-12
  • 1970-01-01
  • 2014-07-28
相关资源
最近更新 更多