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

Set if-condition for new line every 10th character

我想在第 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 整除时添加一个换行符。

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

改为检查 ((i + 1) % 10)

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

试试这个

 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 
....... 

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

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 
....

这将是您的解决方案,例如: 如果你不明白它,让你的例子更容易理解:

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

}