哥们,你只要在判断换行语句那里将条件变得更加严谨一点就可以了,因为很明显67这个数字在66的后面,而66这个数字的a会令程序换行,而此时67也会换行的,所以才会换行两次,你要是想只换行一次,像下面的代码将判断语句换成if (a%10==0 && (i%10)!=7&&Math.floor(i/10)!=7)就可以了,具体的我把代码还有结果给你看。- public static void main(String[] args) {
- //定义一个变量,用于存储符合条件的数字个数
- int a = 0;
- for(int i=1; i<=100;i++){
- //计算输出不包含7的数
- if((i%10)!=7&&Math.floor(i/10)!=7){
- System.out.print(i+"\t");
- a++;
- }
- //没数出10个数字就换行
- if (a%10==0 && (i%10)!=7&&Math.floor(i/10)!=7)
- System.out.println();
-
- }
- }
复制代码 结果是这样的:1 2 3 4 5 6 8 9 10 11
12 13 14 15 16 18 19 20 21 22
23 24 25 26 28 29 30 31 32 33
34 35 36 38 39 40 41 42 43 44
45 46 48 49 50 51 52 53 54 55
56 58 59 60 61 62 63 64 65 66
68 69 80 81 82 83 84 85 86 88
89 90 91 92 93 94 95 96 98 99
100
|