美文网首页
每日一练92——Java Jenny的秘密信息(8kyu)

每日一练92——Java Jenny的秘密信息(8kyu)

作者: 砾桫_Yvan | 来源:发表于2018-09-07 17:48 被阅读0次

    题目

    Jenny编写了一个为用户返回问候语的函数。然而,她爱上了约翰尼,并希望与他略微不同。她在她的功能中添加了一个特例,但她犯了一个错误。

    你能救她吗?

    这题目真感性!

    public class Greeter {
      public static String greet(String name) {
        
        return String.format("Hello, %s!", name);
        
        if(name.equals("Johnny")){
          return "Hello, my love!";
        }
      }
    }
    

    测试用例:

    import org.junit.Test;
    import static org.junit.Assert.assertEquals;
    
    public class ExampleTest {
      @Test
      public void Test() {
        assertEquals("should greet some people normally", "Hello, Jim!", Greeter.greet("Jim"));
        assertEquals("should greet some people normally", "Hello, Jane!", Greeter.greet("Jane"));
        assertEquals("should greet some people normally", "Hello, Simon!", Greeter.greet("Simon"));
        assertEquals("should greet Johnny a little bit more special", "Hello, my love!", Greeter.greet("Johnny"));
      }
    }
    

    解题

    My

    public class Greeter {
      public static String greet(String name) {
        if(name.equals("Johnny")){
          return "Hello, my love!";
        }
        return String.format("Hello, %s!", name);
      }
    }
    

    Other

    public class Greeter {
      public static String greet(String name) {
        if (!name.isEmpty()) {
          if (name.equals("Johnny"))
            return "Hello, my love!";
          else
            return String.format("Hello, %s!", name);
        }
        return "name is null";
      }
    }
    
    public class Greeter {
      public static String greet(String name) {
        return "Hello, " + (name == "Johnny" ?  "my love" : name) + "!";
      }
    }
    

    后记

    这题的测试用例确实没有考虑为null的情况。

    相关文章

      网友评论

          本文标题:每日一练92——Java Jenny的秘密信息(8kyu)

          本文链接:https://www.haomeiwen.com/subject/zvacgftx.html