Использование лямбд и потоков для создания метода purchase_items - PullRequest
0 голосов
/ 06 апреля 2020

В инструкциях говорится, что необходимо создать метод, который принимает объект retail_item в качестве аргумента. Каждый раз, когда вызывается метод purchaseItem, в список должен быть добавлен параметр retail_item, который передается в качестве аргумента. У меня уже есть список данных в магазине (list). Мне нужно создать новый список, который, когда пользователь выбирает опцию в магазине, создает новый список купленных предметов (что в конечном итоге произойдет в тестовом классе). Ниже приведено то, что я имею до сих пор. Я знаю, что это не правильно, но у меня много проблем с этим. Я новичок в этом.


public static void main(String[] args) {
        Cash_Register object = new Cash_Register(); 
            developerInfo();

            Retail_item[] items = {
                    new Retail_item(1000, "Pants", 10, 19.99),
                    new Retail_item(2000, "Jeans", 2, 25.95),
                    new Retail_item(3000, "Shirt", 12, 12.50),
                    new Retail_item(4000, "Dress", 3, 79.00),
                    new Retail_item(5000, "Socks", 50, 1.98),
                    new Retail_item(6000, "Sweater", 5, 49.99),
                    new Retail_item(7000, "Jacket", 1, 85.95),
                    new Retail_item(8000, "Suit", 2, 150.98),
                    new Retail_item(9000, "Swimsuit", 6, 44.50),
                    new Retail_item(9500, "Skirt", 4, 65.99)};

            List<Retail_item> list = Arrays.asList(items);
            object.displayMenu(list);
            object.purchaseItem(list); 


}
//display menu
    public void displayMenu(List<Retail_item> list) {
        System.out.println("Menu Items: ");
        System.out.println("");
        list.stream()
            .forEach(System.out::println);

    }
    //create a purchased item list for register
    public void purchaseItem(List<Retail_item> list) {
        List<List<Retail_item>> toList = Arrays.asList(list);

        toList.stream()
                .map(Retail_item-> new Cash_Register())
                .collect(Collectors.toList());              

    }

Ответы [ 2 ]

0 голосов
/ 06 апреля 2020

Не уверен, что вы на самом деле ищете, но, надеюсь, это будет полезно. Пожалуйста, поделитесь тем, что вы хотите, что у вас есть, с деталями для лучшего ответа.

    public class TestClass {

    List<Retail_item> retail_item_list = new ArrayList<Retail_item>();
    List<Retail_item> another_list = new ArrayList<Retail_item>();

    public void purchase_item(Retail_item retail_item) {

        retail_item_list.add(retail_item);

        Cash_Register cash_register = new Cash_Register();

        another_list = retail_item_list.stream()
            .map(item-> cash_register.method_name(item))
            .collect(Collectors.toList());
    }

}
0 голосов
/ 06 апреля 2020

Я не уверен, зачем вам нужны потоки для этого. Что вы описываете это.

public void purchase_item( Retail_item item) {
        // the item list must exist somewhere, perhaps an instance field
        items.add(item);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...