как использовать мой метод getvalues ​​() в main для печати списка - PullRequest
0 голосов
/ 21 февраля 2010

Метод не показывает никаких ошибок, но я не могу использовать его в методе 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 голосов
/ 21 февраля 2010

Что ж, ваш метод displaylist () содержит цикл for-each, который будет перебирать содержимое коллекции. Итеративная коллекция находится справа от ':'. У вас есть метод, который возвращает коллекцию, в частности, Double [], так что вы можете вызвать свой метод getValues ​​() вместо коллекции.

Итак, попробуйте это:

void displaylist()
{ 
    for(Double d : getValues()) System.out.println(d);
}
0 голосов
/ 21 февраля 2010

Я пытаюсь понять вопрос - позвольте мне переформулировать это и посмотреть, получил я это или нет:

  1. У вас есть объект, который имеет Collection (вероятно, List) значений и называется values.
  2. У вас есть метод getValues(), который возвращает массив, содержащий все значения в values.
  3. Вы хотите распечатать все значения в values.
  4. Вы должны (домашняя работа?) Использовать метод getValues() при распечатке значений в values. (Если вам не нужно использовать getValues(), то я не вижу, что не так с методом displaylist(), который вы уже написали.)
  5. Вы пытались просто вызвать System.out.println() для массива, который вы получили от getValues(), но он просто напечатал что-то ужасное, вроде "[Ljava.lang.Double; @ 39172e08".

Я понял?

К сожалению, даже со всем этим, я не уверен, что предложить, потому что я не знаю, как вы хотите, чтобы выглядела распечатанная версия.

Должны ли значения разделяться запятыми? Если так, ответ Эша сделает это за вас. Должен ли каждый быть на своей линии? Если это так, ответ Shakedown сделает это за вас. Должны ли значения быть разделены пробелами? Если это так, то вы можете изменить ответ Shakedown, чтобы использовать print(d + " ") вместо println(d).

0 голосов
/ 21 февраля 2010

Вы можете использовать статический метод с именем toString(Object[]) в классе java.util.Arrays.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...