-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
122 lines (92 loc) · 4.21 KB
/
Solution.java
File metadata and controls
122 lines (92 loc) · 4.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
//I have said these things to you, while still living with you.(John 14:25)
package com.javarush.task.task14.task1415;
import java.util.ArrayList;
import java.util.List;
/*
Клининговый центр
*/
public class Solution {
public static void main(String[] args) {
List<Apartment> apartments = new ArrayList<Apartment>();
apartments.add(new Apt1Room());
apartments.add(new Apt2Room());
apartments.add(new Apt3Room());
cleanAllApartments(apartments);
}
public static void cleanAllApartments(List<Apartment> apartments) {
for (Apartment apartment : apartments) { //написать тут вашу реализацию пунктов 1-4
if (apartment instanceof Apt1Room) {((Apt1Room)apartment).clean1Room();}
if (apartment instanceof Apt2Room) {((Apt2Room)apartment).clean2Rooms();}
if (apartment instanceof Apt3Room) {((Apt3Room)apartment).clean3Rooms();}
}
}
static interface Apartment {
}
static class Apt1Room implements Apartment {
void clean1Room() {
System.out.println("1 room is cleaned");
}
}
static class Apt2Room implements Apartment {
void clean2Rooms() {
System.out.println("2 rooms are cleaned");
}
}
static class Apt3Room implements Apartment {
void clean3Rooms() {
System.out.println("3 rooms are cleaned");
}
}
}
/*
Клининговый центр
1. Реализовать метод cleanAllApartments.
Для каждого объекта из apartments:
2. Для однокомнатных квартир (Apt1Room) вызвать метод clean1Room.
т.е. если объект типа Apt1Room, то вызвать у него метод clean1Room.
3. Для двухкомнатных квартир (Apt2Room) вызвать метод clean2Rooms
т.е. если объект типа Apt2Room, то вызвать у него метод clean2Rooms.
4. Для трехкомнатных квартир (Apt3Room) вызвать метод clean3Rooms
т.е. если объект типа Apt3Room, то вызвать у него метод clean3Rooms.
Требования:
1. Метод cleanAllApartments должен принимать список аппартаметов в качестве параметра.
2. В методе cleanAllApartments для всех однокомнатных аппартаментов(Apt1Room) содержащихся в списке необходимо вызвать метод clean1Room.
3. В методе cleanAllApartments для всех двухкомнатных аппартаментов(Apt2Room) содержащихся в списке необходимо вызвать метод clean2Rooms.
4. В методе cleanAllApartments для всех трехкомнатных аппартаментов(Apt3Room) содержащихся в списке необходимо вызвать метод clean3Rooms.
5. Классы Apt1Room, Apt2Room, Apt3Room должны поддерживать(реализовывать) интерфейс Apartment.
package com.javarush.task.task14.task1415;
import java.util.ArrayList;
import java.util.List;
*
Клининговый центр
*
public class Solution {
public static void main(String[] args) {
List<Apartment> apartments = new ArrayList<Apartment>();
apartments.add(new Apt1Room());
apartments.add(new Apt2Room());
apartments.add(new Apt3Room());
cleanAllApartments(apartments);
}
public static void cleanAllApartments(List<Apartment> apartments) {
//написать тут вашу реализацию пунктов 1-4
}
static interface Apartment {
}
static class Apt1Room implements Apartment {
void clean1Room() {
System.out.println("1 room is cleaned");
}
}
static class Apt2Room implements Apartment {
void clean2Rooms() {
System.out.println("2 rooms are cleaned");
}
}
static class Apt3Room implements Apartment {
void clean3Rooms() {
System.out.println("3 rooms are cleaned");
}
}
}
*/