2010-02-21 70 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)

相關問題