达到数字时创建一个新行

时间:2016-06-21 15:37:14

标签: java

一个问题要求我创建一个循环,计数在3到300之间。我能够得到那个部分,但它然后询问何时达到30,我必须创建一个新行,然后再添加30,所以它将来60,然后将再次创建一个新行。

到目前为止,这是我的代码:

int x;
int z = 30;

for (x = 3; x <= 300; x = x + 3 ) {
    System.out.print(" " + x);

    if (x == z) {
        System.out.println("");

        z = z + 30;
    }
}

这是输出:

3 6 9 12 15 18 21 24 27 30
33 36 39 42 45 48 51 54 57 60
63 66 69 72 75 78 81 84 87 90
93 96 99 102 105 108 111 114 117 120
123 126 129 132 135 138 141 144 147 150
153 156 159 162 165 168 171 174 177 180
183 186 189 192 195 198 201 204 207 210
213 216 219 222 225 228 231 234 237 240
243 246 249 252 255 258 261 264 267 270
273 276 279 282 285 288 291 294 297 300

2 个答案:

答案 0 :(得分:2)

试试这个:

if ((x % 30) == 0) { System.out.println(); }

答案 1 :(得分:1)

老实说,你应该使用索引并将它们乘以步骤来确定何时开始和结束你的循环。

这更容易理解,也更容易理解。

public class NumberPrinter {
    public static void main(String[] args) {
        printNumbers(1, 100, 3, 10);
    }

    static void printNumbers(int startIndex, int endIndex, int step, int linelimit) {
        int start = step * startIndex;
        int end   = step * endIndex;
        int mod   = step * linelimit;

        while (start <= end) {
            System.out.printf(" %3d", start);

            if ((start % mod) == 0) {
                System.out.println();
            }

            start += step;
        }
    }
}