vitya_brodov
@vitya_brodov
Java dev

Как добавить случайные объекты в List?

Добрый вечер!
У меня есть класс Seller, в которым есть:
поля:
private int money = random.nextInt(50)+50;            // Начальное количество денег от 50 до 100 монет
   private int currentWeight = 0;
    private  int maxWeight = 200;                               // максимальный вес 200кг
   private List<Products> boughtProducts = new ArrayList<>();  // купленные товары будет сувать сюда

метод обычный массив Products products:
Products[] products = {
            Products.makeProduct(TypeOfProduct.DRIED_FRUITS,20,13,Quality.NORMAL),
            Products.makeProduct(TypeOfProduct.MEAT,40,7,Quality.NORMAL),
            Products.makeProduct(TypeOfProduct.GRAIN,50,15,Quality.NORMAL),
            Products.makeProduct(TypeOfProduct.FLOUR,50,43,Quality.NORMAL),
            Products.makeProduct(TypeOfProduct.PAINT,10,11,Quality.NORMAL),
    };


и метод, который получает получает один из объектов массива Products:
// Получаем случайный продукт из массива:
    public Products getRandomProduct() {
        int random = (int) (Math.random() * products.length);
        return products[random];
    }

Вопрос: Как можно заполнять List (то есть boughtProducts ) случайными товарами пока переменная
money дастаточно для покупки товара (то есть когда товар покупается, то money - products.price() ) или
переменная currentWeight не будет равен maxWeight ?
  • Вопрос задан
  • 129 просмотров
Пригласить эксперта
Ответы на вопрос 1
vitya_brodov
@vitya_brodov Автор вопроса
Java dev
public  void buyingProducts(){
        while (money > getRandomProduct().getPrice() || currentWeight < maxWeight){
            boughtProducts.add(getRandomProduct());
            money -= getRandomProduct().getPrice();
            currentWeight += getRandomProduct().getWeight();
        }
        System.out.println("Купил товары: ");
        boughtProducts.forEach(System.out::println);
    }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы