很多人在使用CharAt语句时都会遇到这个问题,但我在实现像(a + 1)这样的简单内容时遇到了麻烦。
我的代码:
public class Problem1 {
public static void main(String[] args) {
int a = 1;
int x = 0;
while (a < 1000)
if
((a + 1)%3 == 0)
(x + a);
else if ((a + 1)%5 == 0)
(x + a);
else (a + 1);
if (a == 1000)
break
print x;
}
}
我的错误发生在(x + a)then语句和my(a + 1)then语句中。尝试打印x时,我也遇到语法错误。
有人可以向我解释这两个错误吗?它们为什么会出现?
提前致谢!
答案 0 :(得分:3)
您不能将添加结果分配给任何内容。您在break
上缺少分号。你并没有增加a
。对print
的调用缺少括号,但我认为您想使用System.out.println()
。并且,我建议您使用括号(即使在单行语句中)。总而言之,我相信你想要的东西,
while (a < 1000) {
if ((a + 1) % 3 == 0) {
x = (x + a);
} else if ((a + 1) % 5 == 0) {
x = (x + a);
} else {
x = (a + 1);
}
if (a == 1000) {
break; // <-- missing semicolon.
}
System.out.println(x); // <-- print.
a++; // <-- increment a.
}
最后,您可以使用or
,然后使用+=
while (a < 1000) {
if ((a + 1) % 3 == 0 || (a + 1) % 5 == 0) {
x += a;
} else {
x += a + 1;
}
if (a == 1000) {
break;
}
System.out.println(x);
a++;
}
答案 1 :(得分:2)
(x + a)
等一些代码本身无效。您必须将值也赋值为变量,例如int n = (x + a)
。
此外,在break语句后必须有分号;
。
最后,Java中没有print
语句。您正在寻找的是:
System.out.println(x);
希望有所帮助,祝你好运!