Код ниже, с помощью System.out.println(thePlanet.getClass().getSimpleName()); получаю Moon для moon и т.д.
Вот что опять не так?((
Валидатор ругается:
Если введенная строка равна "moon", присвоить переменной thePlanet соответствующий объект
package com.javarush.task.task15.task1522;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
Закрепляем паттерн Singleton
*/
public class Solution {
static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args) {
System.out.println(thePlanet.getClass().getSimpleName());
}
public static Planet thePlanet;
static {
try {
readKeyFromConsoleAndInitPlanet();
}
catch (Exception e) {
}
}
public static void readKeyFromConsoleAndInitPlanet() throws Exception{
String s = reader.readLine();
if (s.equals(Planet.EARTH)) {
thePlanet = Earth.getInstance();
}
if (s.equals(Planet.MOON)) {
thePlanet = Moon.getInstance();
}
if (s.equals(Planet.SUN)) {
thePlanet = Sun.getInstance();
}
if (!s.equals(Planet.SUN)&&!s.equals(Planet.MOON)&&!s.equals(Planet.EARTH)){
thePlanet = null;
}
}
}