Как умножить содержимое моего LinkedList, используя цикл while и итератор - PullRequest
0 голосов
/ 12 февраля 2011

Вот мой код:

import java.util.*;

public class Multiply {
    public static void main(String[] args) {

        LinkedList<Integer>num = new LinkedList<Integer>();
        num.add("1");
        num.add("2");
        num.add("3");
        num.add("4");
        num.add("5");

        product( num );
    }

    public static void product(LinkedList<Integer> list) {
        int index = 0;
        Iterator<Integer>productw = list.iterator();
        Integer next = productw.next()

        while (productw.hasNext()) {
            index++;
            System.out.println("The product of the numbers is = " + num);
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 12 февраля 2011

Изначально имейте идентификатор умножения (т. Е. 1) перед вашим циклом while. И продолжайте умножать на него значения итератора.

Псуэдо - код:

public static void product(LinkedList<Integer> list) 
{
    Iterator<Integer>productw = list.iterator();
    int result = 1;
    for( int i=0; i<productw.size(); ++i ) {
        result *= productw.get(i) ;
    }
    // result has the answer
}

Редактировать 1:

В приведенном выше цикле предполагается, что в списке есть хотя бы 1 элемент. Если в списке нет элементов, то ноль должен быть ответом, который, я полагаю, вы можете легко запрограммировать.

0 голосов
/ 12 февраля 2011

Вам необходимо определить начальное значение для продукта
А затем измените его в цикле

Также ... Ваш цикл будет печатать оператор несколько раз - вы не хотите этого - верно?

НТН

...