100到300之间能被5整除的所有数,每输入8个换行怎么做?

img

int n=0;
for(...)
{
if(a1%5==0)
{
System.out.print(a1 + " ");
n++;
}
if(n%8==0)
System.out.println();
}

为你提供了两种写法:第一种是在你原有基础上修改的,第二种是一种优化的思路
代码中帮你写了一些基本的注释,直接看代码即可
有帮助记得采纳哦

/**
 * 100到300之间能被5整除的所有数,每输入8个换行
 * @Author ChenJiahao(程序员五条)
 * @Date 2021/9/26 22:55
 */
public class Test {
    public static void main(String[] args) {
        // 思路1:按照你的代码进行改造
        int n = 0;
        for (int i = 100; i <= 300; i++) {
            if (i % 5 == 0){
                System.out.print(i + " ");
                // ++n的意思是,先对n进行自增,再进行运算
                if (++n % 8 == 0){
                    System.out.println();
                }
            }
        }

        System.out.println();
        System.out.println("------------我是一个分隔符(●'◡'●)------------");

        // 上述代码的缺点:从100~300,需要循环200次才能出结果
        // 思路2:既然要找5的倍数,每次加5即可,效率提高了(200/5)倍
        int i = 97;
        // 需要对i先进行判断一下,如果不是5的倍数,就找大于并且是5的倍数的数字开始累加
        // 假设i不是从100开始的,可以是97,这样第一次加5就成了102,就不符合题意了,所以要将97变成100再开始计算
        while (i % 5 != 0){
            i++;
        }
        int m = 0;
        while (i <= 300){
            System.out.print(i + " ");
            i += 5;
            if (++m % 8 == 0){
                System.out.println();
            }
        }
    }
}