在java(String和数组)中返回多个值

时间:2014-02-13 02:28:42

标签: 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时,它应该将所有数据值放在读数中,而不是只返回一个数据值。任何帮助将不胜感激,如果需要更多信息,请告诉我,因为这是3个文件中的两个。

我的输出:

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 个答案:

答案 0 :(得分: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方法。

答案 1 :(得分:0)

你有一行

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

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

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

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

祝你好运!