【问题标题】:Java true if ends with如果以 Java 结尾,则为 true
【发布时间】:2015-12-11 03:10:39
【问题描述】:
public boolean endsLy(String str) {
      if(str.length() < 2){
          return false;
      }else if(str.substring(str.length()-2, str.length())).equals("ly){
          return true;
      }else{
          return false;}
}

所以这是一个简单的问题,如果以“ly”结尾,则返回 true。 我试着做这个,但我遇到了一些错误。 (在 else 和 equals 下)。就在今天,我一直在学习所有这些。任何帮助表示赞赏:D

【问题讨论】:

  • 您的 String 文字未终止。 "ly"。另外,String.endsWith(String) 是内置的。return str.endsWith("ly");

标签: java string if-statement


【解决方案1】:

从你的版本来看,你只是有几个错别字

public boolean endsLy(String str) 
{
    if(str.length() < 2)
        return false;
    else if(str.substring(str.length() - 3, str.length()).equals("ly"))
        return true;
    else
        return false;
}

但是,如果我写了一个程序来测试这个,我会这样写:

public boolean endsLy(String str) 
{
    // If string doesn't end with ly, is null, or has a length of zero
    if(str == null || str.length() == 0 || !str.endsWith("ly"))
        return false;
    return true;
}

带括号的样子(我的首选版本)

public boolean endsLy(String str) 
{
    if(str.length() < 2)
    {
        return false;
    }
    else if(str.substring(str.length() - 3, str.length()).equals("ly"))
    {
        return true;
    }
    else
    {
        return false;
    }
}
/*
^   ^ all the brackets line up, which for me makes readability a breeze
|   | */

另一种您通常会看到它的格式化方式(不是我喜欢的方式,但通常是行业标准,减少了代码行数。):

public boolean endsLy(String str) 
{
    if(str.length() < 2) {
        return false;
    }
    else if(str.substring(str.length() - 3, str.length()).equals("ly")) {
        return true;
    }
    else {
        return false;
    }
}

【讨论】:

  • 拼写错误有一个密切的原因。你应该使用它。这些问题对任何人都没有帮助。
  • 这对我来说是新的,我认为您的代码是在没有 { 的情况下编写的,以便我更容易阅读,但是当我将它放在 ide 中时它起作用了。在 if 等之后没有写 {return false;} 你的代码怎么会工作。我认为 {} 中的任何内容都是计算机读取的内容。
  • 虽然你错了,它是-2,但你写了-3。在我改变后,你做对了,谢谢:D
  • 放置{ } 的原因是逻辑语句下面是否有一个block 表示您需要运行多行代码。但是,如果您在 if 语句下只有一行代码,则在 java 中不需要括号,因为它读取逻辑语句,然后在退出逻辑语句之前运行一行。但是,并非所有语言都可以这样做,但 java 允许这样做。
  • 最初放置{ } 是一种很好的做法,但是在我看来,您这样做很草率。我编辑了我的帖子,以显示我希望它在括号中的样子。一些程序员的代码不同,但我编写代码是为了便于阅读,而且我更容易看到括号排列。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-18
  • 2020-12-10
  • 2016-09-04
  • 1970-01-01
相关资源
最近更新 更多