Решение для перебора ArrayDequeнайти сумму атрибута объекта класса - PullRequest
0 голосов
/ 30 октября 2019

Я должен нам Map<String, ArrayDeque<class_Object>> для хранения данных. т. е. класс, в котором хранятся String name, double price и int amount.

. Я хотел бы знать, какова совокупная сумма по всем экземплярам класса в ArrayDeque.

Я не могу использовать метод iterator(), потому что это нестатический метод, и я хотел бы использовать его в статическом контексте.

Я пытался использовать iterator(), но если я не вернусь и не перепишу хороший кусок кода, я не смогу его использовать. Я просмотрел Javadoc Oracle и не вижу других методов класса для просмотра первого и последнего элемента.

import java.util.*;

public final class Menu {

    private static Scanner scanner = new Scanner(System.in);
    private static Map<String, ArrayDeque<Block>> stockInfo = new LinkedHashMap<>();

    private static final int VALID_CODE_LENGTH = 3;
    private static final String MENU_TABLE = " a. Buy (B or b)\n b. Sale (S or s)\n c. Exit (E or e)\n";

    public void launch() { menu("Choose option: "); }
    private static void buyStock() {

        var symbolCode = symbolInput(); // more to larger scope.

        Block block = new Block(symbolCode, priceInput(), amountInput());
        var arrayDeque = Menu.stockInfo.getOrDefault(symbolCode, new ArrayDeque<Block>());

        arrayDeque.addFirst(block);
        Menu.stockInfo.put(symbolCode, arrayDeque);

        System.out.println(Menu.stockInfo);
    }

    private static void sellStock() {
        var symbolCode = ""; // move to larger scope.

        do {
            symbolCode = symbolInput(); // implement a method for this?
        } while (!stockInfo.containsKey(symbolCode));

        var arrayDeque = Menu.stockInfo.getOrDefault(symbolCode, new ArrayDeque<Block>());

        var stockPrice = priceInput();
        var stockAmount = amountInput();
    }

    private static boolean isValidAmount(int amountInput) {
        //Iterator iterator = ArrayDeque.iterator();

        return true;
    }

Я должен быть в состоянии найти общее количество amount для всех объектов класса. Если потребуется дальнейшее объяснение или дополнительный код, я с радостью предоставлю.

...