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();
}
}
}
}