Почему такой код не проходит валидатор?
Добавлял сверху еще 1-,2-,3-комнатные квартиры в main'е в список apartments и консоль выводила верно, нужное количество раз по типу квартиры.
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 OneRoomApt());
apartments.add(new TwoRoomApt());
apartments.add(new ThreeRoomApt());
cleanAllApartments(apartments);
}
public static void cleanAllApartments(List<Apartment> apartments) {
/*написать тут вашу реализацию пунктов 1-4
for (Apartment aps : apartments) {
if (aps instanceof OneRoomApt) { ((OneRoomApt)aps).clean1Room(); }
else if (aps instanceof TwoRoomApt) { ((TwoRoomApt)aps).clean2Rooms(); }
else if (aps instanceof ThreeRoomApt) { ((ThreeRoomApt)aps).clean3Rooms(); }
} * * */
for (int i = 0; i != apartments.size(); i++) {
if (apartments.get(i) instanceof OneRoomApt) {
new OneRoomApt().clean1Room();
}
if (apartments.get(i) instanceof TwoRoomApt) {
new TwoRoomApt().clean2Rooms();
}
if (apartments.get(i) instanceof ThreeRoomApt) {
new ThreeRoomApt().clean3Rooms();
}
}
}
static interface Apartment {}
static class OneRoomApt implements Apartment {
void clean1Room() {
System.out.println("1 room is cleaned");
}
}
static class TwoRoomApt implements Apartment {
void clean2Rooms() {
System.out.println("2 rooms are cleaned");
}
}
static class ThreeRoomApt implements Apartment {
void clean3Rooms() {
System.out.println("3 rooms are cleaned");
}
}
}