2010-02-21 69 views
0

该方法不显示任何错误,但我无法在main方法中使用它来显示列表。如何在main中使用我的getvalues()方法打印列表

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(); } 

如何使用此方法...而不是我使用的methos称为显示列表和作品,但我需要知道如何使用我的GetValues方法。两种方法如下:

Double[] getValues() 
    { 

     Double[] array = new Double[values.size()]; 
     return values.toArray(array); 
    } 

    void displaylist() 
    { 
     for(Double d : values) 
      System.out.println(d); 
    } 
+0

谢谢大家....以下是我如何通过将它分配给另一个变量来使用我的getValues()..我还了解到,我应该在表达我的查询时更加清楚......当然会尝试即兴创作。 Double [] returnValues = calc.getValues(); (int i = 0; i kathy 2010-02-21 20:30:36

回答

0

您可以在java.util.Arrays类使用一种叫做toString(Object[])静态方法。

0

那么您的displaylist()方法包含一个for-each循环,它将迭代集合的内容。要迭代的集合位于':'的右侧。你有一个方法返回一个集合 - 特别是Double [] - 所以你可以调用你的getValues()方法来代替集合。

所以,试试这个:

void displaylist() 
{ 
    for(Double d : getValues()) System.out.println(d); 
} 
0

我想明白这个问题 - 让我再说一遍,看看我得到了它与否:

  1. 您必须具有一个对象一个Collection(可能是List)的值为values
  2. 你有一个方法,getValues(),它返回一个包含values中所有值的数组。
  3. 您想要打印出values中的所有值。
  4. values中输出值时,您需要(功课?)使用getValues()方法。 (如果你不使用getValues()需要的话,我看不出有什么不对的displaylist()方法,你已经写了。)
  5. 您试图只需拨打System.out.println()你从getValues()得到了阵列上,但只是打印出像“[Ljava.lang.Double; @ 39172e08”这样的可怕内容。

我知道了吗?

不幸的是,即使有了这些,我不知道该怎么建议,因为我不知道你想要打印出来的版本是什么样子。

值应该用逗号分隔吗?如果是这样,Ash的答案会为你做到这一点。 每个人都应该在自己的线上?如果是这样,Shakedown的答案会为你做到这一点。 值应该用空格分隔吗?如果是这样,那么你可以修改Shakedown的答案,使用print(d + " ")而不是println(d)