每隔10个字符设置新行的if-condition

时间:2015-01-14 13:22:29

标签: java arrays modulo

我想在第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 

5 个答案:

答案 0 :(得分:6)

将您的条件更改为:

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

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

答案 1 :(得分:2)

您也可以跳过使用数组并打印如下:

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

答案 2 :(得分:1)

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

请改为((i + 1) % 10)

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

答案 3 :(得分:0)

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

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

}

答案 4 :(得分:-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 
.......