因此调用该方法:
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
答案 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];
当然,由于数组中的项目数可能会有所不同,因此您需要将其放入循环中。这就是德罗巴的榜样。
祝你好运!