每日一练62——Java雪橇认证(8kyu)

题目

圣诞节快到了,许多人梦想着骑着圣诞老人的雪橇。但是,当然,只允许圣诞老人使用这种美妙的交通工具。并且为了确保,只有他能登上雪橇,才有一种认证机制。

你的任务是实现authenticate()雪橇的方法,它取名的人,谁想要登上雪橇和密码。如果且仅当名称等于“圣诞老人”且密码为“Ho Ho Ho!”时 (是的,即使圣诞老人有一个带有大写和小写字母和特殊字符的密码:D),返回值必须是true。否则它应该返回false

例子:

sleigh.authenticate("Santa Claus", "Ho Ho Ho!") # must return True
sleigh.authenticate("Santa', 'Ho Ho Ho!") # must return False
sleigh.authenticate("Santa Claus", "Ho Ho!") # must return False
sleigh.authenticate("jhoffner", "CodeWars") # Nope, even Jak

测试用例:

import org.junit.Test;
import static org.junit.Assert.assertEquals;
import org.junit.runners.JUnit4;

// TODO: TDD development by writing your own tests as you solve the kata

public class SolutionTest {
    @Test
    public void test_authentication() {
        assertEquals(true, Sleigh.authenticate("Santa Claus", "Ho Ho Ho!"));
        assertEquals(false, Sleigh.authenticate("Santa", "Ho Ho Ho!"));
        assertEquals(false, Sleigh.authenticate("Santa Claus", "Ho Ho Ho"));
    }
}

解题

My

public class Sleigh {
  public static Boolean authenticate(String name, String password){
    if("Santa Claus".equals(name) && "Ho Ho Ho!".equals(password)) {
      return true;
    }
    return false;
  }
}

Other

public class Sleigh {

  private final static String SANTA_USER = "Santa Claus";
  private final static String SANTA_PWD = "Ho Ho Ho!";

  public static Boolean authenticate(String name, String password) {
    return SANTA_USER.equals(name) && SANTA_PWD.equals(password);
  }
}

后记

别人的代码确实是有实践的意义,应该定义静态常量的。

你可能感兴趣的:(每日一练62——Java雪橇认证(8kyu))