Advertisement
RadioNurshat

Dannik Class 1

Nov 5th, 2020 (edited)
1,887
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.39 KB | None | 0 0
  1. package com.radionurshat;
  2.  
  3. public class EngineersCoffeeGrinder implements IEngineer {
  4.     public boolean getStatus() {
  5.         return status;
  6.     }
  7.     private boolean status = false;
  8.     protected void Launch(){
  9.         status = true;
  10.     }
  11.     protected void Stop(){
  12.         status = false;
  13.     }
  14.     private double Voltage = GenericGrinderParameters.VOLTAGE.getValue();
  15.  
  16.     public EngineersCoffeeGrinder(double rotationTorque) {
  17.         setRotationTorque(rotationTorque);
  18.     }
  19.  
  20.     private void setVoltage(double voltage) {
  21.         Voltage = voltage;
  22.     }
  23.     @Override
  24.     public double getVoltage() {
  25.         return this.Voltage;
  26.     }
  27.  
  28.     private void setCurrent(double current) {
  29.         this.Current = current;
  30.     }
  31.     private double Current = GenericGrinderParameters.CURRENT.getValue();
  32.     @Override
  33.     public double getCurrent() {
  34.         return Current;
  35.     }
  36.  
  37.     public void setRotatingSpeed(double rotatingSpeed) {
  38.         this.rotatingSpeed = rotatingSpeed;
  39.     }
  40.     private double rotatingSpeed = 0;
  41.     @Override
  42.     public double getRotatingSpeed() {
  43.         return rotatingSpeed;
  44.     }
  45.  
  46.  
  47.     private boolean isCaseClosed(){
  48.         return true;
  49.     }
  50.  
  51.     @Override
  52.     public boolean checkCaseIntegrity() {
  53.         return isCaseClosed();
  54.     }
  55.  
  56.     @Override
  57.     public boolean isReadyToStart() {
  58.         return checkCaseIntegrity() && (getSpeedMode() == 0) && (getCurrent()<2) && (getVoltage()<250) && (getVoltage()>190); //Если кофемолка выключена и корпус закрыт
  59.     }
  60.  
  61.     @Override
  62.     public double getElectricPower() {
  63.         return (getVoltage() * getCurrent());
  64.     }
  65.  
  66.  
  67.     private void setRotationTorque(double rotationTorque) {
  68.         this.rotationTorque = rotationTorque;
  69.     }
  70.     private double rotationTorque = 0;
  71.     @Override
  72.     public double getRotationTorque() {
  73.         return rotationTorque;
  74.     }
  75.     private IGrindable Containment = null;
  76.     protected double getContainmentMass(){
  77.         if(this.Containment == null){
  78.             return 0;
  79.         }
  80.        return this.Containment.getMass();
  81.     }
  82.     public void Load(IGrindable product){
  83.         System.out.println("Продукт засыпан.");
  84.         this.Containment = product;
  85.     }
  86.     public void Empty(){
  87.         if (status){
  88.             status = false;
  89.             setSpeedMode(0);
  90.             System.out.println("Кофемолка экстренно остановлена. Внимание, не открывайте крышку кофемолки до полной остановки.");
  91.         }
  92.         System.out.println("Содержимое кофемолки опустошено.");
  93.         this.Containment = null;
  94.     }
  95.     public String GetContainmentName(){
  96.         return this.Containment.getName();
  97.     }
  98.  
  99.  
  100.     @Override
  101.     public void on() {
  102.         if(!getStatus()){
  103.             if (checkCaseIntegrity()){
  104.                 if (getContainmentMass() > 0){
  105.                     System.out.println("Кофемолка запущена.");
  106.                     Launch();
  107.                     setSpeedMode(1);
  108.                     System.out.println("Режим скорости: 1");
  109.                     System.out.println("Скорость: " + getRotatingSpeed() + " об/мин.");
  110.                     System.out.println("Крышка закрыта.");
  111.                     System.out.println("Напражение: " + getVoltage() + "В, Ток: " + getCurrent() + "А.");
  112.                     System.out.println("Мощность: " + getElectricPower() + "Вт.");
  113.                     System.out.println("В кофемолку загружено кофе \""+GetContainmentName()+"\" массой " + getContainmentMass() + "кг.");
  114.                 }else{
  115.                     System.out.println("Кофемолка пуста! Запуск невозможен");
  116.                 }
  117.             }else{
  118.                 System.out.println("Крышка кофемолки не закрыта! Запуск невозможен");
  119.             }
  120.         }else{
  121.             System.out.println("Кофемолка уже запущена.");
  122.         }
  123.  
  124.     }
  125.  
  126.     @Override
  127.     public void off() {
  128.         if(getStatus()){
  129.             Stop();
  130.             setSpeedMode(GenericGrinderParameters.MODE.getValue());
  131.             System.out.println("Кофемолка выключена.");
  132.             if(getContainmentMass() > 0){
  133.                 System.out.println("Теперь вы можете извлечь измельченный кофе.");
  134.             }
  135.         }else{
  136.             System.out.println("Кофемолка уже выключена");
  137.         }
  138.  
  139.     }
  140.     @Override
  141.     public void setSpeedMode(int speedMode) {
  142.         if (status){
  143.             this.speedMode = speedMode;
  144.             setRotatingSpeed(speedMode*100);
  145.             System.out.println("Из Инженера: Режим скорости установлен на "+speedMode);
  146.             System.out.println("Скорость вращения составляет " + getRotatingSpeed());
  147.         }else{
  148.             System.out.println("Вы не можете изменить скорость кофемолки пока она выключена.");
  149.         }
  150.     }
  151.     private int speedMode = GenericGrinderParameters.MODE.getValue();
  152.     public int getSpeedMode() {
  153.         return speedMode;
  154.     }
  155.  
  156. }
  157.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement