Guest User

Untitled

a guest
Oct 22nd, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.25 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. import java.util.stream.Collectors;
  4.  
  5.  
  6. public class Computer {
  7.  
  8. private double speedProcessorGhs;
  9. private double ramProcessorHb;
  10. private int capacityHardDiskHb;
  11. private int powerSupplyVt;
  12. private boolean switchOn;
  13. private List<Program> installPrograms;
  14.  
  15.  
  16. public Computer() {
  17. super();
  18. this.switchOn = false;
  19. this.installPrograms = new ArrayList<>();
  20. }
  21.  
  22. public Computer(double speedProcessorGhs, double ramProcessorHb, int capacityHardDiskHb, int powerSupplyVt) {
  23. super();
  24. this.speedProcessorGhs = speedProcessorGhs;
  25. this.ramProcessorHb = ramProcessorHb;
  26. this.capacityHardDiskHb = capacityHardDiskHb;
  27. this.powerSupplyVt = powerSupplyVt;
  28. this.switchOn = false;
  29. this.installPrograms = new ArrayList<>();
  30. }
  31.  
  32. public double getSpeedProcessorGhs() {
  33. return speedProcessorGhs;
  34. }
  35.  
  36. public void setSpeedProcessorGhs(double speedProcessorGhs) {
  37. this.speedProcessorGhs = speedProcessorGhs;
  38. }
  39.  
  40. public double getRamProcessorHb() {
  41. return ramProcessorHb;
  42. }
  43.  
  44. public void setRamProcessorHb(double ramProcessorHb) {
  45. this.ramProcessorHb = ramProcessorHb;
  46. }
  47.  
  48. public int getCapacityHardDiskHb() {
  49. return capacityHardDiskHb;
  50. }
  51.  
  52. public void setCapacityHardDiskHb(int capacityHardDiskHb) {
  53. this.capacityHardDiskHb = capacityHardDiskHb;
  54. }
  55.  
  56. public int getPowerSupplyVt() {
  57. return powerSupplyVt;
  58. }
  59.  
  60. public boolean isSwitchOn() {
  61. return switchOn;
  62. }
  63.  
  64. public void setPowerSupplyVt(int powerSupplyVt) {
  65. this.powerSupplyVt = powerSupplyVt;
  66. }
  67.  
  68. public void installProgram(Program program) throws ComputerAccessException {
  69. if(!this.switchOn) throw new ComputerAccessException("You can't use this program because computer is off");
  70. program.install();
  71. installPrograms.add(program);
  72. }
  73.  
  74.  
  75. public void runProgram(Program program) throws ComputerAccessException, NotFoundProgramException {
  76. if(!this.switchOn) throw new ComputerAccessException("You can't use this program because computer is off");
  77. if(installPrograms.isEmpty() || !installPrograms.contains(program)) throw new NotFoundProgramException("No install program");
  78. for(Program p: installPrograms) {
  79. if(p.equals(program)) {
  80. p.start();
  81. }
  82. }
  83. }
  84.  
  85. public void stopProgram(Program program) throws ComputerAccessException, NotFoundProgramException{
  86. if(!this.switchOn) throw new ComputerAccessException("You can't use this program because computer is off");
  87. if(installPrograms.isEmpty() || !installPrograms.contains(program)) throw new NotFoundProgramException("No install program");
  88. for(Program p: installPrograms) {
  89. if(p.equals(program)) {
  90. p.stop();
  91. }
  92. }
  93.  
  94. }
  95.  
  96. public List<Program> showAllInstallProgram() {
  97. return installPrograms;
  98. }
  99.  
  100. public List<Program> showAllRunPrograms() {
  101. return installPrograms.stream().filter(p -> p.isRun() == true).collect(Collectors.toList());
  102. }
  103.  
  104. public void switchOn() {
  105. this.switchOn = true;
  106. }
  107.  
  108. public void switchOff() {
  109. this.switchOn = false;
  110. }
  111.  
  112.  
  113.  
  114. @Override
  115. public String toString() {
  116. return "Швидкодія процесора = " + speedProcessorGhs + ", Розмір оперативної пам'яті = " + ramProcessorHb
  117. + ", Об'єм жорского диску = " + capacityHardDiskHb + ", Потужність блоку живлення = " + powerSupplyVt;
  118. }
  119.  
  120.  
  121. }
Add Comment
Please, Sign In to add comment