ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ Ордена Трудового Красного Знамени государственное образовательное учреждение высшего профессионального образования Московский технический университет связи и информатики Кафедра информатики Лабораторная работа №13 Java-программирование Выполнил: Дюкарев Михаил Группа БИБ2201 Вариант 10 Москва 2023 Задание Решение: Проблема текущей архитектуры: первоначальный текст представляет собой смесь синтаксиса и конструкций из C++ и Java, что делает его некорректным для обеих языков. Код на Java: import java.util.Random; class Slot { private int value; private int count; public Slot(int val) { value = val; count = 0; } public int accept(int coin) { if (coin == value) { count++; return 1; } return 0; } public int getCount() { return count; } } class Quarter extends Slot { public Quarter() { super(25); } } class Dime extends Slot { public Dime() { super(10); } } class Nickel extends Slot { public Nickel() { super(5); } } class Penny extends Slot { public Penny() { super(1); } } public class Main { public static int pickCoin() { int[] choices = {1, 5, 10, 25}; Random rand = new Random(); return choices[rand.nextInt(4)]; } public static void main(String[] args) { Slot[] slots = new Slot[4]; slots[0] = new Quarter(); slots[1] = new Dime(); slots[2] = new Nickel(); slots[3] = new Penny(); int coin, total = 0; Random rand = new Random(); for (int i = 0; i < 10; i++) { coin = pickCoin(); System.out.print(coin + " "); total += coin; for (int j = 0; j < 4; j++) { if (slots[j].accept(coin) == 1) break; } } System.out.println("\nФинальный депозит $" + total / 100 + "." + (total % 100 < 10 ? "0" : "") + total % 100); System.out.println("Четвертак - " + slots[0].getCount()); System.out.println("Десятюнчик - " + slots[1].getCount()); System.out.println("Пятак - " + slots[2].getCount()); System.out.println("Пенни - " + slots[3].getCount()); } } Результат выполнения: