题目
圣诞节快到了,许多人梦想着骑着圣诞老人的雪橇。但是,当然,只允许圣诞老人使用这种美妙的交通工具。并且为了确保,只有他能登上雪橇,才有一种认证机制。
你的任务是实现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);
}
}
后记
别人的代码确实是有实践的意义,应该定义静态常量的。
网友评论