Advertisement
Guest User

Untitled

a guest
Oct 9th, 2020
512
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. package rabbits;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import java.util.stream.Collectors;
  6.  
  7. public class Cage {
  8.  
  9. // • name: String
  10. //• capacity: int
  11. //• data: List<Rabbit> that holds added rabbits
  12.  
  13.  
  14. String name;
  15. int capacity;
  16. List<Rabbit> data;
  17.  
  18. public Cage(String name, int capacity) {
  19. this.name = name;
  20. this.capacity = capacity;
  21. this.data = new ArrayList<>();
  22. }
  23.  
  24. public String getName() {
  25. return name;
  26. }
  27.  
  28. public int getCapacity() {
  29. return capacity;
  30. }
  31.  
  32. public void add(Rabbit rabbit){
  33. if (this.data.size() < capacity)
  34. data.add(rabbit);
  35. }
  36.  
  37. public boolean removeRabbit(String name){
  38. return data.removeIf(r-> r.getName().equals(name));
  39. }
  40.  
  41. public void removeSpecies(String species){
  42. this.data.removeIf(r-> r.getSpecies().equals(species));
  43. }
  44.  
  45. public Rabbit sellRabbit(String name){
  46. Rabbit rabbitToReturn = null;
  47.  
  48. for (Rabbit rabbit : data ) {
  49. if (rabbit.getName().equals(name)){
  50. rabbitToReturn = rabbit;
  51. rabbit.setAvailable();
  52. break;
  53. }
  54. }
  55. return rabbitToReturn;
  56. }
  57.  
  58. public List<Rabbit> sellRabbitBySpecies(String species){
  59.  
  60. List<Rabbit> soldRabbits = data.stream().filter(r-> r.getSpecies().equals(species)).collect(Collectors.toList());
  61.  
  62. data.removeIf(x-> x.getSpecies().equals(species));
  63.  
  64. return soldRabbits;
  65. }
  66.  
  67. public int count(){
  68. return data.size();
  69. }
  70. public String report(){
  71.  
  72. StringBuilder sb = new StringBuilder();
  73.  
  74. sb.append(String.format("Rabbits available at %s:%n", this.getName()));
  75.  
  76. for (Rabbit rabbit : data) {
  77.  
  78. if (rabbit.isAvailable())
  79. sb.append(rabbit).append(System.lineSeparator());
  80. }
  81.  
  82. return sb.toString().trim();
  83. }
  84. }
  85.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement