Java打印包含多个整数的字符串

标签 java string integer output

今天刚开始学java,好像搞不明白。我正在学习 learnjavaonline.org 上的教程,该教程教您一些事情,然后要求您编写代码来执行特定操作,然后检查输出以查看其是否正确。问题是,如果它不正确,它不会说明原因,也不会为您提供正确代码的示例。

它要我使用所有原语输出一个字符串“H3110 w0r1d 2.0 true”

我想到了这个

public class Main {
public static void main(String[] args) {
    char h = 'H';
    byte three = 3;
    short one = 1;
    boolean t = true;
    double ten = 10;
    float two = (float) 2.0;
    long won = 1;
    int zero = 0;

    String output = h + three + one + ten + " " + "w" + zero + "r" + won + "d " + two + " " + t;
    System.out.println(output);
}

但它输出 86.0 w0r1d 2.0 true

我怎样才能让它不添加所有整数,而是连续显示它们?

最佳答案

这一行的问题:

String output = h + three + one + ten + " " + "w" + zero + "r" + won + "d " + two + " " + t;

是操作是从左到右执行的,所以它首先求和 h + three(计算结果为 int)然后是 one然后是。到那时为止,您已经有了一个数值(一个 int),然后会将其“求和”为一个 String。尝试这样的事情:

String output = "" + h + three + one + ten + " " + "w" + zero + "r" + won + "d " + two + " " + t;

在第二种情况下,您的表达式将以 String 对象开始,将其余操作评估为 String

您当然可以在开头使用 "" 或计算为 String 的任何其他值,例如 String.valueOf(h) .在最后一种情况下,您不需要对其他操作数使用 String.valueOf(),因为第一个已经是字符串。

关于Java打印包含多个整数的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18041996/

相关文章:

python - 类型错误 : cannot concatenate 'str' and 'int' objects

格式化长数字时,PHP 给出不正确的结果

java - Google Guava "zip"两个列表

c - 不使用 64 位数据类型的 32 位有符号整数乘法

java - 收到的 JSON 与使用 Spring Rest 和 Hibernate 发送的 JSON 不同

r - 如何生成所有可能的unicode字符?

python - 将列表转换为字符串列表python

swift - 如何以特定方式从 Swift 中的字符串中提取数字

java - 如何在 Gradle 构建中指定所需的 Java 版本?

java - 如何获取任意整数数组并返回具有相同整数但不重复的数组