该方法没有显示任何错误,但我无法在main方法中使用它来显示列表。
if (userinput.equalsIgnoreCase("push") )
{ calc.push(value);
calc.displaylist();
System.out.println(calc.getValues());
}
else if (userinput.equalsIgnoreCase("mult"))
{ calc.push(calc.mult());
calc.getValues(); }
如何使用这种方法......相反,我使用了一种称为显示列表的方法,但是我需要知道如何使用我的getValues方法。两种方法如下:
Double[] getValues()
{
Double[] array = new Double[values.size()];
return values.toArray(array);
}
void displaylist()
{
for(Double d : values)
System.out.println(d);
}
答案 0 :(得分:0)
您可以在toString(Object[])
类中使用名为java.util.Arrays
的静态方法。
答案 1 :(得分:0)
你的displaylist()方法包含一个for-each循环,它将迭代集合的内容。迭代的集合位于':'的右侧。你有一个返回集合的方法 - 特别是Double [] - 所以你可以调用你的getValues()方法来代替集合。
所以,试试这个:
void displaylist()
{
for(Double d : getValues()) System.out.println(d);
}
答案 2 :(得分:0)
我试图理解这个问题 - 让我重申一下,看看我是否得到了它:
Collection
的{{1}}(可能是List
}个值的对象。values
,它返回一个包含getValues()
中所有值的数组。values
。values
中打印出值时,您需要(作业?)使用getValues()
方法。 (如果您不需要使用values
,那么我不会看到您已编写的getValues()
方法有什么问题。)displaylist()
的数组上调用System.out.println()
,但是只打印了一些类似“[Ljava.lang.Double; @ 39172e08”的内容。我明白了吗?
不幸的是,即便如此,我也不确定该提出什么建议,因为我不知道您希望打印出来的版本看起来像什么。
值是否应以逗号分隔?如果是这样,Ash的回答将为您做到这一点。
每个人应该独立吗?如果是这样,Shakedown的答案将为您做到这一点。
值是否应该用空格分隔?如果是这样,那么您可以修改Shakedown的答案,使用getValues()
代替print(d + " ")
。