Загрузил mikhaildyukarew

lab13 Java

реклама
ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
Ордена Трудового Красного Знамени государственное образовательное
учреждение высшего профессионального образования
Московский технический университет связи и информатики
Кафедра информатики
Лабораторная работа №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());
}
}
Результат выполнения:
Скачать