Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.List;
- import java.util.stream.Collectors;
- public class Computer {
- private double speedProcessorGhs;
- private double ramProcessorHb;
- private int capacityHardDiskHb;
- private int powerSupplyVt;
- private boolean switchOn;
- private List<Program> installPrograms;
- public Computer() {
- super();
- this.switchOn = false;
- this.installPrograms = new ArrayList<>();
- }
- public Computer(double speedProcessorGhs, double ramProcessorHb, int capacityHardDiskHb, int powerSupplyVt) {
- super();
- this.speedProcessorGhs = speedProcessorGhs;
- this.ramProcessorHb = ramProcessorHb;
- this.capacityHardDiskHb = capacityHardDiskHb;
- this.powerSupplyVt = powerSupplyVt;
- this.switchOn = false;
- this.installPrograms = new ArrayList<>();
- }
- public double getSpeedProcessorGhs() {
- return speedProcessorGhs;
- }
- public void setSpeedProcessorGhs(double speedProcessorGhs) {
- this.speedProcessorGhs = speedProcessorGhs;
- }
- public double getRamProcessorHb() {
- return ramProcessorHb;
- }
- public void setRamProcessorHb(double ramProcessorHb) {
- this.ramProcessorHb = ramProcessorHb;
- }
- public int getCapacityHardDiskHb() {
- return capacityHardDiskHb;
- }
- public void setCapacityHardDiskHb(int capacityHardDiskHb) {
- this.capacityHardDiskHb = capacityHardDiskHb;
- }
- public int getPowerSupplyVt() {
- return powerSupplyVt;
- }
- public boolean isSwitchOn() {
- return switchOn;
- }
- public void setPowerSupplyVt(int powerSupplyVt) {
- this.powerSupplyVt = powerSupplyVt;
- }
- public void installProgram(Program program) throws ComputerAccessException {
- if(!this.switchOn) throw new ComputerAccessException("You can't use this program because computer is off");
- program.install();
- installPrograms.add(program);
- }
- public void runProgram(Program program) throws ComputerAccessException, NotFoundProgramException {
- if(!this.switchOn) throw new ComputerAccessException("You can't use this program because computer is off");
- if(installPrograms.isEmpty() || !installPrograms.contains(program)) throw new NotFoundProgramException("No install program");
- for(Program p: installPrograms) {
- if(p.equals(program)) {
- p.start();
- }
- }
- }
- public void stopProgram(Program program) throws ComputerAccessException, NotFoundProgramException{
- if(!this.switchOn) throw new ComputerAccessException("You can't use this program because computer is off");
- if(installPrograms.isEmpty() || !installPrograms.contains(program)) throw new NotFoundProgramException("No install program");
- for(Program p: installPrograms) {
- if(p.equals(program)) {
- p.stop();
- }
- }
- }
- public List<Program> showAllInstallProgram() {
- return installPrograms;
- }
- public List<Program> showAllRunPrograms() {
- return installPrograms.stream().filter(p -> p.isRun() == true).collect(Collectors.toList());
- }
- public void switchOn() {
- this.switchOn = true;
- }
- public void switchOff() {
- this.switchOn = false;
- }
- @Override
- public String toString() {
- return "Швидкодія процесора = " + speedProcessorGhs + ", Розмір оперативної пам'яті = " + ramProcessorHb
- + ", Об'єм жорского диску = " + capacityHardDiskHb + ", Потужність блоку живлення = " + powerSupplyVt;
- }
- }
Add Comment
Please, Sign In to add comment