【发布时间】:2014-05-22 02:23:21
【问题描述】:
我在 Java 中有以下代码:
public void doSomething(int i) {
if (i == 12) {
// order should be same
up();
left();
stop();
}
if (i == 304) {
// order should be same
right();
up();
stop();
}
if (i == 962) {
// order should be same
down();
left();
up();
stop();
}
}
// similar code can be done using switch case statements.
// all the function can have any functionality and might not resemble to the name given to them.
现在,如果我被要求不要使用 if-else 和 switch case 语句,那该怎么办?代码可以用 Java 或 JavaScript 编写。
【问题讨论】:
-
只是确定一下,您实际上可以使用 JS (this language)?如果是这样,那很容易。
-
用类似
'12'的方法创建一个对象,并在该方法中调用你的函数。 -
为每个键使用字典,您将拥有函数列表作为值,并根据键选择列表中的函数并迭代列表并调用每个函数。
-
我永远不会理解要求学生“做 X,但不使用 Y,显然是正确的方法,或 Z 是另一种有效但尴尬的解决方案”的教学原因
-
“在 Java 或 JavaScript 中”没有意义。它们是两种非常不同的语言,具有两个非常不同的域。为了回答您的问题,两种语言都提供了几种多路 if:
if-then-elseif-else和某种switch。您当前的实现是有缺陷的,因为它命中了 eachif测试,而不是在第一场比赛后退出。这可能就是教练的意思。
标签: java javascript conditional-statements