118 lines
6.1 KiB
Java
118 lines
6.1 KiB
Java
|
|
|||
|
import java.util.Scanner;
|
|||
|
import java.util.InputMismatchException;
|
|||
|
public class Main {
|
|||
|
|
|||
|
public static void main(String[] args) {
|
|||
|
// Вмикаємо прибори
|
|||
|
TurnOn();
|
|||
|
// Виводимо відомості про систему
|
|||
|
String totalPower = Integer.toString(ElectroAppliance.getTotalPower());
|
|||
|
System.out.println("Загальна споживана потужість:" + totalPower + " Вт");
|
|||
|
String totalWater = Integer.toString(WashingMashines.getTotalWaterConsumption());
|
|||
|
System.out.println("Загальна споживана вода:" + totalWater + " Л");
|
|||
|
String totalHeat = Integer.toString(HeatingDevices.getTotalHeatTransfer());
|
|||
|
System.out.println("Загальне виділення тепла:" + totalHeat + " Дж");
|
|||
|
String totalMech = Integer.toString(MechanicDevices.getTotalMechanicPower());
|
|||
|
System.out.println("Загальн механічна потужність:" + totalMech + " Вт");
|
|||
|
System.out.println("-------------------------");
|
|||
|
//Виводимо сортовані потужності
|
|||
|
ElectroAppliance.printSortedPowers();
|
|||
|
System.out.println("-------------------------");
|
|||
|
//Виводимо електромагнітні випромінювання в шуканому діапазоні
|
|||
|
ElectroAppliance.printDiapasonedElectromagneticRadiation(getLimits());
|
|||
|
}
|
|||
|
|
|||
|
public static void TurnOn() {
|
|||
|
|
|||
|
if (AskTrueOrFalse("Ввімкнути в розетку посудомийну машину(введіть так або ні)?")) {
|
|||
|
WashingMashines DishWasher = new WashingMashines(11, 1000, 30, "Посудомийна машина");
|
|||
|
|
|||
|
}
|
|||
|
if (AskTrueOrFalse("Ввімкнути в розетку пральну машину(введіть так або ні)?")) {
|
|||
|
WashingMashines ClothesWasher = new WashingMashines(50, 2000, 10, "Пральна машина");
|
|||
|
}
|
|||
|
if (AskTrueOrFalse("Ввімкнути в розетку мікрохвильовку(введіть так або ні)?")) {
|
|||
|
HeatingDevices MicroWawe = new HeatingDevices(2000, 1100, 10000, "Мікрохвильвка");
|
|||
|
}
|
|||
|
if (AskTrueOrFalse("Ввімкнути в розетку духову піч(введіть так або ні)?")) {
|
|||
|
HeatingDevices Oven = new HeatingDevices(1000, 800, 1000, "Духова піч");
|
|||
|
}
|
|||
|
if (AskTrueOrFalse("Ввімкнути в розетку блендер(введіть так або ні)?")) {
|
|||
|
MechanicDevices Blender = new MechanicDevices(200, 400, 1, "Блендер");
|
|||
|
}
|
|||
|
if (AskTrueOrFalse("Ввімкнути в розетку пилосос(введіть так або ні)?")) {
|
|||
|
MechanicDevices VacuumCleaner = new MechanicDevices(50, 300, 3, "Пилосос");
|
|||
|
}
|
|||
|
/**
|
|||
|
* Цей метод створений для того, щоб запитати у користувача, які він прилади хоче ввімкнути в розетку і потім,
|
|||
|
* якщо відповідь буде позитивна, створює об'єект цього класу.
|
|||
|
*/
|
|||
|
}
|
|||
|
public static int[] getLimits(){
|
|||
|
int[] limits = new int[2];
|
|||
|
while (true) {
|
|||
|
int low = 0;
|
|||
|
System.out.println("Введіть нижню границю пошуку");
|
|||
|
Scanner scanner = new Scanner(System.in);
|
|||
|
|
|||
|
while (true) {
|
|||
|
try {
|
|||
|
low = scanner.nextInt();
|
|||
|
break;
|
|||
|
} catch (InputMismatchException e) {
|
|||
|
System.out.println("Введені символи не є цілим числом, спробуйте ще раз.");
|
|||
|
scanner.nextLine();
|
|||
|
}
|
|||
|
}
|
|||
|
System.out.println("Введіть нижню границю пошуку");
|
|||
|
int top = 0;
|
|||
|
while (true) {
|
|||
|
try {
|
|||
|
top = scanner.nextInt();
|
|||
|
break;
|
|||
|
} catch (InputMismatchException e) {
|
|||
|
System.out.println("Введені символи не є цілим числом, спробуйте ще раз.");
|
|||
|
scanner.nextLine();
|
|||
|
}
|
|||
|
}
|
|||
|
if (top >= low) {
|
|||
|
limits[0]=low;
|
|||
|
limits[1]=top;
|
|||
|
break;
|
|||
|
} else {
|
|||
|
System.out.println("Нижня границя більна верхньої");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return limits;
|
|||
|
/**
|
|||
|
* Цей метод створений для того, щоб запитати у користувача нижню і верхню границю пошуку, і при цьому оброботи
|
|||
|
* всі можливі помилки, такі як ввід не цілого числа, та перевищення нижньої границі верхньої
|
|||
|
*/
|
|||
|
}
|
|||
|
public static boolean AskTrueOrFalse(String question) {
|
|||
|
System.out.println(question);
|
|||
|
Scanner scanner = new Scanner(System.in);
|
|||
|
boolean x = true;
|
|||
|
while (true) {
|
|||
|
String anwser = scanner.nextLine();
|
|||
|
if (anwser.equalsIgnoreCase("так")) {
|
|||
|
x = true;
|
|||
|
break;
|
|||
|
} else if (anwser.equalsIgnoreCase("ні")) {
|
|||
|
x = false;
|
|||
|
break;
|
|||
|
} else {
|
|||
|
System.out.println("Ви ввели не правильний текст, спробуйте ще раз");
|
|||
|
}
|
|||
|
}
|
|||
|
return x;
|
|||
|
}
|
|||
|
/**
|
|||
|
* Цей метод створений для того, щоб запитати у користвуча відповідь так або ні. Він приймає текстовий аргумент,
|
|||
|
* виводить його на екран і очікує ввід. Потім він перевіряє відповіть на рівність "так" або "ні"
|
|||
|
* і повертає значення true або false.
|
|||
|
*/
|
|||
|
}
|