作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
编写一个程序来执行以下任务。• 从命令行获取单个整数参数n。• 打印出从1 到n 的整数,每行一个,但对于3 的倍数,打印“Flim”而不是数字,对于5 的倍数,打印“Flam”而不是数字。对于 3 和 的倍数5、打印“FlimFlam”。
例如运行java示例6应该产生输出12弗利姆4弗洛姆弗利姆
class Example {
public static void main (String argv[]) {
if (argv.length != 1)
usage();
int n = 0;
try {
n = Integer.parseInt(argv[0]);
} catch (NumberFormatException e) {
usage();
}
for (int i = 1; i <= n; i++)
if (i % 3 == 0) {
System.out.println("Flim");
} else if (i % 5 == 0) {
System.out.println("Flam");
} else if (i % 3 == 0 && i % 5 == 0){
System.out.println("FlimFlam");
} else {
System.out.println(i);
}
}
private static void usage() {
System.err.println("usage: java Example count string");
System.exit(1);
}
}
最佳答案
问题出在条件上。由于 i % 3
或 i % 5
首先满足,因此永远不会达到 i % 3 == 0 && i % 5 == 0
条件。因此,您必须首先检查 i % 3 == 0 && i % 5 == 0
,然后检查其余两个条件。
以下是修改后的条件:
if (i % 3 == 0 && i % 5 == 0){
System.out.println("FlimFlam");
} else if (i % 3 == 0) {
System.out.println("Flim");
} else if (i % 5 == 0) {
System.out.println("Flam");
} else {
System.out.println(i);
}
编辑: - if-else-if block 类似于如果任何第一个出现的条件匹配,则不要检查 if-else-if block 中的其余条件。
关于java - 无法从循环打印 "FlimFlam",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58213096/
编写一个程序来执行以下任务。• 从命令行获取单个整数参数n。• 打印出从1 到n 的整数,每行一个,但对于3 的倍数,打印“Flim”而不是数字,对于5 的倍数,打印“Flam”而不是数字。对于 3
我是一名优秀的程序员,十分优秀!