gpt4 book ai didi

java - 无法从循环打印 "FlimFlam"

转载 作者:行者123 更新时间:2023-12-01 19:34:52 26 4
gpt4 key购买 nike

编写一个程序来执行以下任务。• 从命令行获取单个整数参数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 % 3i % 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com