在Java中如何在新行上打印多个整数?

问题描述 投票:0回答:9

我正在想办法 印制 四则运算结果 单行 键入 只有一个 System.out.println (我想少打点字对码农来说是比较好的)。

预期的输出。

43 
1 
19 
13

我的代码。

class JavaApplication1 {
     public static void main(String[] args) {
         int a,b,c,d;
         a = -5 + 8 * 6;
         b = (55+9) % 9;
         c = 20 + -3*5 / 8;
         d = 5 + 15 / 3 * 2 - 8 % 3 ;

         System.out.println(a);
         System.out.println(b);
         System.out.println(c);
         System.out.println(d);
    }  
}
java output text-formatting
9个回答
1
投票

你可以用几种方法来实现i。

这将打印变量,并且在每个变量之间用 new-line char :

System.out.println(a + "\n" + b + "\n" + c + "\n" + d);

您也可以使用方法参考和 Arrays这将从你的4个变量组成的数组中创建一个动态列表,并应用 System.out::println 给每一个人 。

Arrays.asList(a,b,c,d).forEach(System.out::println);

IntStream.of(a,b,c,d).forEach(System.out::println);

使用基本 for each loop 也可以是一种方式 。

for (int i : new int[]{a, b, c, d})
     System.out.println(i);

打印与 format 也可以用.NET来创建新行。

System.out.printf("%d%n%d%n%d%n%d%n",a,b,c,d)

3
投票

你可以在Java中使用'\n'来创建一个新行,所以你的代码看起来像这样。

System.out.println(a + "\n" + b + "\n" + c + "\n" + d);

这将在新的行上打印它们。


2
投票

将4个整数的结果分别打印在不同的行上,键入 仅有一次 'system.out.println'。

很简单,你只需要添加一个 换行字 到您要打印的文本。在大多数机器上,这是由特殊字符 \n.

String output = a + "\n"
    + b + "\n"
    + c + "\n"
    + d;
System.out.println(output);

然而,有 平台独立 办法 System.lineSeparator() (文件)返回。像。

String lineSeparator = System.lineSeparator();
String output = a + lineSeparator
    + b + lineSeparator
    + c + lineSeparator
    + d;
System.out.println(output);

或者你也可以用 System.out.printf 方法 (文件),代表着"打印格式化". 它的参数是 %n 创建一个新行,同样使用 System.lineSeparator() 内部。

System.out.printf("%d%n%d%n%d%n%d%n", a, b, c, d);

%d 是一个数字的占位符,如 int. 它用后面列出的参数替换所有占位符。

这里是该方法接受的所有参数的完整列表。Formatter-Syntax


如果你想找一个 爪哇8 使用Streams和Lambdas的解决方案,那么你可以使用这段代码(文件):

IntStream.of(a, b, c, d).forEachOrdered(System.out::println);

它首先创建一个 溪流 (在这种情况下,像一个容器一样的东西)保存你的变量,然后调用 打印法 在每个 的元素。请注意,代码本身调用了 打印法 现在 4次, 只是 一次. 但它看起来相当紧凑。

你可以查看它"相当"到下面的代码。

int[] values = new int[]{a, b, c, d};

for (int value : values) {
    System.out.println(value);
}

1
投票

System.out.format 你可以使用以下命令输出与系统相关的分线符 %n 格式;你也可以在格式字符串中添加进一步的数字格式。

 System.out.format("%d%n%d%n%d%n%d%n", a, b, c, d);

1
投票

不要只用 "\n" 是一个换行字符。这取决于平台,如果你看一下包含以 "\n" 在Windows记事本上,你不会看到你所期望的东西。

请用这个来代替。

System.out.printf("%s%n%s%n%s%n%s%n", a, b, c, d);

或者:

IntStream.of(a, b, c, d).forEach(System.out::println);

1
投票

你会想使用换行符。在java中,它是 \n 如果要用你所拥有的东西来打印它们,那就是。

System.out.println(a + "\n" + b + "\n" + c + "\n" + d);

1
投票

这就满足了你所说的要求,只需调用一次... System.out.println使用独立于平台的行分隔符,并避免重复输入相同的连接操作。

   System.out.println(IntStream.of(a,b,c,d).mapToObj(Integer::toString)
           .collect(Collectors.joining(System.lineSeparator())));

这是一个更通用的版本,它适用于任何对象,而不仅仅是ints。

   System.out.println(Stream.of(a,b,c,d).map(Object::toString)
           .collect(Collectors.joining(System.lineSeparator())));

0
投票

你也可以选择使用 System.out.printf("%d%n%d%n%d%n%d%n",a,b,c,d)


0
投票

在java中,有不同的打印语句

1.println

System.out.println(1+"\n"+2+"\n"+3+"\n"+4);

2.打印

System.out.print("\n"+1); System.out.print("\n"+2); System.out.print("\n"+3); System.out.print("\n"+4);

3.printf

System.out.printf("%d%n%d%n%d%n%d%n",1,2,3,4);

其中%d和%n称为格式指定符,它们指定了在printf方法中使用的数据类型。


© www.soinside.com 2019 - 2024. All rights reserved.