每 10 个字符为换行符设置 if 条件



我想在第 10 个数组之后输入一个新行。我的数组从 1-365 (day[0]=1, day[1]=2, ..)填充。

这是我的代码,我坚持创建if-condition

int day[] = new int[365];
        for(int i=0; i<day.length; i++){
            day[i] = i+1;
            System.out.print(day[i]+" ");
            if((i % 10) == 0){
                System.out.println();
            }
        }

这应该是我的控制台输出:

1 2 3 4 5 6 7 8 9 10 
11 12 13 14 15 16 17 18 19 20 
21 22 23 24 25 26 27 28 29 30 
31 32 33 34 35 36 37 38 39 40 
41 42 43 44 45 46 47 48 49 50 
51 ...

我得到的:

1 
2 3 4 5 6 7 8 9 10 11 
12 13 14 15 16 17 18 19 20 21 
22 23 24 25 26 27 28 29 30 31 
32 33 34 35 36 37 38 39 40 41 
42 43 44 45 46 47 48 49 50 51 

将您的条件更改为:

        if(((i+1) % 10) == 0){
            System.out.println();
        }

您正在打印i+1 ,因此您希望在i+1可被 10 整除时添加换行符。

您也可以跳过使用数组并像这样打印:

public static void main(String[] args) {
    for (int i = 0; i < 365; ++i) {
        System.out.format("%3d ", i + 1);
        if ((i + 1) % 10 == 0)
            System.out.println();
    }
} 

输出

  1   2   3   4   5   6   7   8   9  10 
 11  12  13  14  15  16  17  18  19  20 
 21  22  23  24  25  26  27  28  29  30 
 31  32  33  34  35  36  37  38  39  40 
 41  42  43  44  45  46  47  48  49  50 
 51  52  53  54  55  56  57  58  59  60 
 61  62  63  64  65  66  67  68  69  70 
 71  72  73  74  75  76  77  78  79  80 
 81  82  83  84  85  86  87  88  89  90 
 91  92  93  94  95  96  97  98  99 100 
101 102 103 104 105 106 107 108 109 110 
....

这是因为数组索引从 0 开始。所以你认为第 10 个字符,对于 Java 来说,是第 9 个字符(第一个是第 0 个字符)。

改为选中((i + 1) % 10)

或者,您可以检查 day[i] 的实际值,因为您已经将其设置为 i + 1

这将是

您的解决方案,例如:如果您不理解它,请使您的示例更容易:

public static void main(String[] args){
    System.out.println("This would be your solution:");
    int day[] = new int[365];
    for (int i = 0; i < 365; i++) {
        day[i]=i+1;
        //System.out.print(day[i]);
    }
    for (int i = 0; i < day.length; i++) {
        int j = day[i];
        System.out.print(j+" ");
        if(j%10==0){
            System.out.println();
        }
    }
}

试试这个

 int day[] = new int[365];
    for(int i=1; i<day.length; i++){
        day[i-1] = i;
        System.out.print(day[i-1]+" ");
        if((i % 10) == 0){
            System.out.println();
        }
        if(i==day.length-1){
            day[i] = i+1;
            System.out.print(day[i]+" ");
        }
    }

输出

1 2 3 4 5 6 7 8 9 10 
11 12 13 14 15 16 17 18 19 20 
21 22 23 24 25 26 27 28 29 30 
31 32 33 34 35 36 37 38 39 40 
41 42 43 44 45 46 47 48 49 50 
....... 

最新更新