如何打印2个int但没有添加?

问题描述 投票:2回答:5

我知道这似乎是一个愚蠢的问题(对不起)。基本上这就是我想要做的:

int a = 5;
int b = 3;

System.out.print(a+b);

这会给我8,但除了在它之间放一个空字符串以便打印5和3(而不是通过将int转换为字符串)之外还有其他方法吗?

非常感谢。

java string printing int addition
5个回答
3
投票

print方法只是将其参数转换为字符串并写出结果。因此,如果要显示连接的两个数字,则需要通过将它们转换为字符串(显式地或使用“”,如您已经提到的)来自己完成此操作。

如果你想避免自己构建字符串,你可能需要使用printf()方法:

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

1
投票

尝试

System.out.print(a+""+b)

要么

System.out.print(a+" "+b) 

如果你想要它们之间的空间


0
投票

Java将始终执行算术运算符。要避免此行为,您需要将数字转换为字符串。

这应该适合你:

System.out.println("" + a + b);

由于开头是空字符串,Java将把+解释为连接运算符,并将变量的值与空字符串连接起来。


0
投票
  1. 用户显式字符串转换(不那么优雅的解决方案):

    System.out.print(new Integer(a).toString()+b);

  1. 使用对System.out.print的顺序调用(不会添加新行):

    System.out.print(a);
    System.out.print(b);

  1. 使用java.lang.StringBuilder:

    import java.lang.StringBuilder;
    ...
    StringBuilder sb = new StringBuilder();
    sb.append(a);
    sb.append(b);
    System.out.print(sb.toString());


0
投票

您需要将println方法中的参数转换为字符串文字,然后java编译器会将其识别为字符串,并且不会添加两个整数。

    System.out.println(a+""+b);

或使用格式方法

    System.out.format("%d%d",a,b);
© www.soinside.com 2019 - 2024. All rights reserved.