java运行结果为什么和预期不一样

请问一下为什么这个运行结果和预期(预期结果图见最下方图片)的不一样,不应该是到4、16才换行吗,为什么每次打一个数字就换行,要怎么办?


```java
public class problem {
    public static void main(String[] args) {
        int i, num = 0;
        for (i = 1; i <= 50; i++) {
            if (i % 2 == 0) {
                System.out.println(i + "\t");
                num++;
            }
            if (num % 4 == 0)
                System.out.println("\n");
            }
        }

    }


img

img

因为你用的是println方法,这个方法是输出换行,你换成print就可以了。


public class problem {
    public static void main(String[] args) {
        int i, num = 0;
        for (i = 1; i <= 50; i++) {
            if (i % 2 == 0) {
                System.out.println(i + "\t");
                num++;
                if (num % 4 == 0)
                    System.out.println("\n");
            }
          
        }
    }
 }