如何将垂直列表输出到水平列表中

时间:2015-08-26 18:14:16

标签: java output

public class NormalNumbers {

  public static void main(String[] args) {

    int x = 1;

    while ((x >= 1) && (x <= 100)) {

      System.out.println("x = " + x);

      x = x + 1;

    }
  }
}

目前的输出是:

x = 1
x = 2
...
x = 100

我想将格式更改为:

x=1 x=2 x=3 x=4 x=5
x=6 x=7 x=8 x=9 x=10

等等。

我如何实现这一目标?

5 个答案:

答案 0 :(得分:2)

System.out.println打印文本并添加新行。请改为使用System.out.print在同一行打印。

所以它会是这样的:

System.out.print("x=" + x + " ");

要为每5个数字添加一个新行,请使用:

// if x is multiple of 5, add a new line
if (x % 5 == 0) {
    System.out.println();
}

PD:您可以使用x++increment operator)或x += 1(如果您希望增加多个单元)而不是x = x + 1

PD2:您可能希望使用制表符(\t)而不是用于分隔数字的空格。这样,具有两位数的数字将具有与具有一位数的数字相同的缩进。

System.out.print("x=" + x + "\t");

答案 1 :(得分:2)

而不是使用println(),它会自动在您打印的内容中插入换行符,只需使用print()并添加额外的空格来填充您的条目。

如果你想专门在5条目之后注入换行符,你可以使用空println()和模数运算符这样做:

while ((x >= 1) && (x <= 100)) {
    System.out.print("x = " + x);
    if (x % 5 == 0) {
        System.out.println();
    }
    x = x + 1;
}

答案 2 :(得分:2)

如果没有余数,则使用模数除法将计数器除以5,然后创建一个新行:

int x = 1;

while ((x >= 1) && (x <= 100))
{
    System.out.print("x = " + x + " ");
    if(x % 5 == 0)
    {
        System.out.print("\n");
    }
    x = x + 1;

}

答案 3 :(得分:2)

  • println是下一行,print在同一行。
  • x % 5 == 0检查x值是否为5的倍数。

    int x = 1;
    
    while ((x >= 1) && (x <= 100)) {
    
        if (x % 5 == 0) {
            System.out.println("x="+x);
        } else {
            System.out.print("x=" +x+ " ");
    
        }
    
        x = x + 1;
    
    }
    

这样可以输出

x=1 x=2 x=3 x=4 x=5
x=6 x=7 x=8 x=9 x=10
x=11 x=12 x=13 x=14 x=15
x=16 x=17 x=18 x=19 x=20
-----

答案 4 :(得分:1)

我认为在您的情况下,更好的方法是使用for(;;)语句:

for (int x = 1; x > 0 && x < 101;)
    System.out.print("x = " + x + (x++ % 5 == 0 ? "\n" : " "));

三元运算符x++ % 5 == 0 ? "\n" : " "负责新行并递增x变量。

输出:

x = 1 x = 2 x = 3 x = 4 x = 5
x = 6 x = 7 x = 8 x = 9 x = 10
...
x = 96 x = 97 x = 98 x = 99 x = 100