有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在java中返回多个值(字符串和数组)

因此,该方法被称为:

private void print()
{
    System.out.println("The list of Devices is:");
    for(int i = 0; i < numDevices; i++)
    {
        System.out.println(list[i].toString());
    }
}

当它到达toString方法时,它会将它带到这里

public String toString()
{   
     String temp = name + ": " + readings[0];
     return temp;
}

我的问题是,当我调用print方法时,它应该输出读数中的所有数据值,而我只能返回一个数据值。任何帮助都将不胜感激,如果需要更多信息,请让我知道,因为这是三个文件中的两个

我的输出:

The list of Devices is:

Speedometer: 3

Alitimeter: 1

有输出

The list of Devices is:

Speedometer: 3,39.7,93.2,193.2,0.0,0.0

Altimeter: 1,422.6,98.7,340.5

共 (2) 个答案

  1. # 1 楼答案

    你有电话吗

     String temp = name + ": " + readings[0];
    

    “[0]”表示只执行读数数组中的第一项。您需要找到一种方法来处理数组中的所有项。例如,如果数组中有3项,则可以执行以下操作:

     String temp = name + ": " + readings[0] + "," + readings[1] + "," + readings[2];
    

    当然,由于数组中的项数可能会有所不同,因此您需要将其放入一个循环中。这就是德罗巴的例子

    祝你好运

  2. # 2 楼答案

      public String toString() {
            String str = name + ": ";
            for (int i = 0; i < readings.length; i++) {
                if (i < readings.length - 1) {
                    str += readings[i] + ", ";
                } else {
                    str += readings[i];
                }
            }
            return str;
        }
    

    尝试像这样替换toString方法