我想通过输入只有一个 System.out.println
来确定如何打印 4个整数的结果(我猜对于程序员而言,打字越少越好。
预期产出:
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);
}
}
答案 0 :(得分:3)
您可以使用' \ n'在Java中创建一个新行,所以你的代码看起来像这样:
System.out.println(a + "\n" + b + "\n" + c + "\n" + d);
这将在新行上打印出来。
答案 1 :(得分:2)
只需输入'system.out.println',就可以在单独的行上打印4个整数的结果。
非常简单,您需要在要打印的文本中添加换行符。在大多数机器上,这由特殊字符\n
表示。
String output = a + "\n"
+ b + "\n"
+ c + "\n"
+ d;
System.out.println(output);
然而,平台无关方式与方法System.lineSeparator()
(documentation)返回的方式相同。像:
String lineSeparator = System.lineSeparator();
String output = a + lineSeparator
+ b + lineSeparator
+ c + lineSeparator
+ d;
System.out.println(output);
或者,您可以使用System.out.printf
方法(documentation),它代表“ print formatted ”。它具有参数%n
,可以在内部使用System.lineSeparator()
创建新行。
System.out.printf("%d%n%d%n%d%n%d%n", a, b, c, d);
%d
是int
之类的数字的占位符。它用后面列出的参数替换所有占位符。
以下是该方法接受的所有参数的完整列表:Formatter-Syntax
如果您使用Streams和Lambdas查找 Java 8 解决方案,那么您可以使用此代码(documentation):
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);
}
答案 2 :(得分:1)
你可以通过以下几种方式来做我:
这将打印变量,并在每个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
打印:
System.out.printf("%d%n%d%n%d%n%d%n",a,b,c,d)
答案 3 :(得分:1)
不要只使用"\n"
作为换行符。这是依赖于平台的,如果你在Windows记事本上查看包含由"\n"
分隔的行的输出,你将看不到你的期望。
请改用:
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);
答案 4 :(得分:1)
您需要使用换行符。在java中它是\n
要使用你拥有的东西打印它们,它将是:
System.out.println(a + "\n" + b + "\n" + c + "\n" + d);
答案 5 :(得分:1)
使用System.out.format
,您可以使用%n
格式输出与系统相关的行分隔符;您还可以在格式字符串中添加更多数字格式。
System.out.format("%d%n%d%n%d%n%d%n", a, b, c, d);
答案 6 :(得分: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())));
答案 7 :(得分:0)
您也可以选择使用System.out.printf("%d%n%d%n%d%n%d%n",a,b,c,d)
答案 8 :(得分:0)
java中有不同的打印语句
1.println
System.out.println(1+"\n"+2+"\n"+3+"\n"+4);
2.print
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方法中将使用哪种数据类型。 谢谢。