【发布时间】:2017-10-05 03:50:22
【问题描述】:
我是 Java 课程的初学者,所以这对你们来说可能看起来很愚蠢。这是代码。
class CyclingResult implements IEvent {
double time;
int finishOrder;
CyclingResult(double time, int finishOrder) {
this.time = time;
this.finishOrder = finishOrder;
}
public double pointsEarned() {
return if (this.finishOrder == 1) {
(this.time - 10);
} else if (this.finishOrder == 2) {
(this.time - 7);
} else if (this.finishOrder == 3) {
(this.time - 3);
} else {
this.time;
}
}
}
我得到一组5“错误:语法错误,插入“AssignmentOperator Expression”以完成Expression”
我确信我的代码有些愚蠢,但我能找到的示例有点超出我的想象,无法找出差异。
【问题讨论】:
-
if是一个语句,而不是一个表达式。所以它没有价值。 -
您不能返回 if (...) 块。有几种方法可以解决这个问题。一个简单的解释是删除 "if (this...) 之前的 "return",并在每个 "(this.time - ...) 之前的同一行和之前放置一个 "return"
-
我试图做的是根据 this.time 产生一个“分数”,除非运动员在第一、第二或第三名,在这种情况下你会从他们的分数,有点像高尔夫。编辑:你的修复工作,Savlon。太感谢了。我永远不会想到这一点。
标签: java syntax-error