呵呵,你写的太麻烦了啦,有比你这更简单的。
public static void main(String[] args) {
int n = 100; //下线数
int m = 0; //个数
for (int i = 1; i <= n; i++) {
String s=i+"";
if (i % 7 == 0 || s.indexOf('7')!=-1) {
System.out.print(i+" ");
m++; //每有一个是7的倍数或者含7的数就+1
if (m != 0 && m % 10 == 0) {
System.out.println(); //10个就换行
}
}
}
}
好了,现在回答你的问题,为什么中间会有一个空行,因为你的if打印空行语句在if判断是否包含7或%7的后面,也就是说,不管数字是否%7或包含7,你的if打印空行依然会执行,所以当符合条件的时候就多打了一个空行了。你把你的if打印空行语句放到if判断%7或包含7语句的最后一行,就会有效果了。谢谢。