Валидор пишет:
Метод readKeyFromConsoleAndInitPlanet должен корректно обновлять значение переменной thePlanet в соответствии с условием задачи.
Если введенная строка равна "moon", присвоить переменной thePlanet соответствующий объект. (самое забавное, что сам код работает корректно и переменная thePlanet действительно инициализируется нужным объектом, если вводится соответсвующая строка).
package com.javarush.task.task15.task1522;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import com.javarush.task.task14.task1421.Singleton;
/*
Закрепляем паттерн Singleton
*/
public class Solution {
public static void main(String[] args) {
}
public static Planet thePlanet;
static {
readKeyFromConsoleAndInitPlanet();
}
//add static block here - добавьте статический блок тут
public static void readKeyFromConsoleAndInitPlanet() {
// implement step #5 here - реализуйте задание №5 тут
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = "";
try {
s = reader.readLine();
} catch (IOException o){System.out.println("Что-то не так! \n"); o.printStackTrace();}
if(s.equals(Planet.EARTH)) thePlanet = Earth.getInstance();
else if(s.equals(Planet.MOON)) thePlanet = Moon.getInstance();
else if(s.equals(Planet.SUN)) thePlanet = Sun.getInstance();
else thePlanet = null;
}
}