为了账号安全,请及时绑定邮箱和手机立即绑定

无法从 Loops 打印“FlimFlam”

无法从 Loops 打印“FlimFlam”

FFIVE 2023-09-20 14:58:57
编写一个程序来执行以下任务。• 从命令行获取单个整数参数n。• 打印出从1 到n 的整数,每行一个,但对于3 的倍数,打印“Flim”而不是数字,对于5 的倍数,打印“Flam”而不是数字。对于 3 和 5 的倍数,打印“FlimFlam”。例如,运行 java 示例 6 应生成输出 1 2 Flim 4 Flam Flimclass 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);  }}
查看完整描述

2 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

问题出在条件上。由于要么i % 3ori % 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 块就像如果任何第一个出现的条件匹配,则不要检查 if-else-if 块中的其余条件。


查看完整回答
反对 回复 2023-09-20
?
心有法竹

TA贡献1866条经验 获得超5个赞

这是完整的代码:


public 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) {

                if(i % 5 == 0) {

                    System.out.println("FlimFlam");

                }

                 System.out.println("Flim");

            } else if (i % 5 == 0) {

                System.out.println("Flam");

            } else {

                System.out.println(i);

        }

}


private static void usage() {

    System.err.println("usage: java Example count string");

    System.exit(1);

  }

}


查看完整回答
反对 回复 2023-09-20
  • 2 回答
  • 0 关注
  • 82 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信