我正在尝试在Codewars中获得一个帐户,并且很惊讶您必须向他们展示您对所提供的编程语言之一有一些基本知识.我选择了Java,但却被困在一个练习中.代码是:
public class Person {
String name;
public Person(String personName) {
name = personName;
}
public String greet(String yourName) {
return String.format("Hi %s, my name is %s", yourName, name);
}
}
Run Code Online (Sandbox Code Playgroud)
它说,"更正此代码,以便greet函数返回预期值".问题是,我没有看到错误,事实上我将代码复制到Eclipse并且在改编Java编译器并使用版本1.6后代码工作,没有错误,如果你尝试使用main方法它返回预期值.
如果只是他们告诉你哪个期望值是......提交时,无论我尝试什么,我总是得到"代码不能按预期工作".
有任何想法吗?
Lee*_*ker 11
你是对的; 这段代码是正确的,而Codewars的人是傻瓜.他们可能希望您以其他方式切换名称.
用于在对象上调用函数并传递参数的OO隐喻是"告诉对象对给定对象执行操作".换句话说,如果对象是Jim,那就Jim.greet("Joe")告诉吉姆问乔,"嗨,乔,我的名字是吉姆"是正确的做法.
实际上,由于问候实际上是两个人之间的交流,做真正正确的事情是不是传递一个字符串名称greet,而是传递一个Person,并有greet呼叫Person的beGreeted()方法.
| 归档时间: |
|
| 查看次数: |
7756 次 |
| 最近记录: |