
Приветствую всех читателей! Сегодня я хочу поделиться с вами своим опытом написания программы для розыгрыша игрушек в магазине детских товаров на языке программирования Java. В ходе создания этой программы я использовал принципы объектно-ориентированного программирования (ООП) и работу с файлами.Для начала, я создал класс ″Игрушка″ с четырьмя свойствами⁚ id игрушки, текстовым названием, количеством и частотой выпадения игрушки (вес в % от 100). Каждая игрушка имеет уникальный идентификатор, чтобы можно было однозначно идентифицировать каждую игрушку в программе. Также, я добавил возможность задавать новые значения для этих свойств через методы.java
public class Toy {
private int id;
private String name;
private int quantity;
private double weight;
public Toy(int id, String name, int quantity, double weight) {
this.id id;
this.name name;
this.quantity quantity;
this.weight weight;
}
// Методы для получения и изменения свойств игрушки
public int getId {
return id;
}
public String getName {
return name;
}
public int getQuantity {
return quantity;
}
public double getWeight {
return weight;
}
public void setQuantity(int quantity) {
this.quantity quantity;
}
public void setWeight(double weight) {
this.weight weight;
}
}
Далее я создал основной класс ″Розыгрыш″, который будет отвечать за основную логику программы. В этом классе я добавил методы для добавления новых игрушек и изменения их веса. Также я реализовал метод для выбора призовой игрушки. Призовые игрушки хранятся в списке массива.java
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class ToyRaffle {
private List
public ToyRaffle {
prizeToys new ArrayList<>;
}
// Метод для добавления новой игрушки
public void addToy(Toy toy) {
prizeToys.add(toy);
}
// Метод для изменения веса (частоты выпадения) игрушки
public void changeWeight(int toyId, double weight) {
for (Toy toy ⁚ prizeToys) {
if (toy.getId toyId) {
toy.setWeight(weight);
break;
}
}
}
// Метод для выбора призовой игрушки
public Toy choosePrizeToy {
Random random new Random;
double totalWeight 0;
// Вычисление суммарного веса всех игрушек
for (Toy toy ⁚ prizeToys) {
totalWeight toy.getWeight;
}
// Выбор случайной игрушки
double randomNumber random.nextDouble * totalWeight;
double currentWeight 0;
for (Toy toy ⁚ prizeToys) {
currentWeight toy.getWeight;
if (currentWeight > randomNumber) {
return toy;
}
}
return null;
}
}
Наконец, я подготовил главный класс программы, в котором я создал объект класса ″Розыгрыш″ и добавил несколько игрушек в списке призовых игрушек. Затем я вызвал метод выбора призовой игрушки и вывел ее информацию на экран.java
public class Main {
public static void main(String[] args) {
ToyRaffle toyRaffle new ToyRaffle;
// Добавление игрушек
toyRaffle.addToy(new Toy(1, ″Мяч″, 10, 30));
toyRaffle.addToy(new Toy(2, ″Кукла″, 5, 20));
toyRaffle.addToy(new Toy(3٫ ″Машинка″٫ 8٫ 50));
// Изменение веса игрушки
toyRaffle.changeWeight(1, 40);
// Выбор призовой игрушки
Toy prizeToy toyRaffle.choosePrizeToy;
System.out.println(″Поздравляем! Вы выиграли игрушку⁚″);
System.out.println(″Название⁚ ″ prizeToy.getName);
System.out.println(″Количество⁚ ″ prizeToy.getQuantity);
}
}
Таким образом, я создал программу для розыгрыша игрушек в магазине детских товаров с использованием языка программирования Java. Эта программа позволяет добавлять новые игрушки, изменять вес (частоту выпадения) игрушек и выбирать случайную призовую игрушку. Надеюсь, мой опыт будет полезен для вас при создании подобных программ. Удачи в ваших программистских начинаниях!