如何在main中使用我的getvalues()方法来打印列表

时间:2010-02-21 01:48:12

标签: java linked-list

该方法没有显示任何错误,但我无法在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);
    }

3 个答案:

答案 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)

我试图理解这个问题 - 让我重申一下,看看我是否得到了它:

  1. 您有一个名为Collection的{​​{1}}(可能是List}个值的对象。
  2. 您有一个方法values,它返回一个包含getValues()中所有值的数组。
  3. 您想打印values
  4. 中的所有值
  5. values中打印出值时,您需要(作业?)使用getValues()方法。 (如果您不需要使用values,那么我不会看到您已编写的getValues()方法有什么问题。)
  6. 您试图在displaylist()的数组上调用System.out.println(),但是只打印了一些类似“[Ljava.lang.Double; @ 39172e08”的内容。
  7. 我明白了吗?

    不幸的是,即便如此,我也不确定该提出什么建议,因为我不知道您希望打印出来的版本看起来像什么。

    值是否应以逗号分隔?如果是这样,Ash的回答将为您做到这一点。 每个人应该独立吗?如果是这样,Shakedown的答案将为您做到这一点。 值是否应该用空格分隔?如果是这样,那么您可以修改Shakedown的答案,使用getValues()代替print(d + " ")