Показать сообщение отдельно

  #33  
Старый 06.09.2015, 20:57
Java-man
Познающий
Регистрация: 05.09.2015
Сообщений: 31
С нами: 5624489

Репутация: 0
По умолчанию

Первый вариант - красивый.

Код:


Код:
public class Test
{
    public static void main(String[] args)
    {
        Optional string = IntStream.rangeClosed(1, 100)
                .mapToObj(i -> i % 15 == 0 ? "mmo-develop.ru" : String.valueOf(i))
                .map(i -> parseInt(i, 1) % 3 == 0 ? "mmo-" : i)
                .map(i -> parseInt(i, 1) % 5 == 0 ? "develop.ru" : i)
                .reduce((a, b) -> a + System.lineSeparator() + b);
        System.out.println(string.get());
    }

    public static int parseInt(String number, int defaultVal)
    {
        try
        {
            return Integer.parseInt(number);
        }
        catch (NumberFormatException e)
        {
            return defaultVal;
        }
    }
}
Второй вариант - короткий. Естественно я его выкладываю в максимально читабельном варианте, так как я не дебил. А так его можно сложить в одну строку.

Код:


Код:
public class Test
{
    public static void main(String[] args)
    {
        Optional string = IntStream.rangeClosed(1, 100)
                .mapToObj(i -> (i % 15 == 0)
                        ? "mmo-develop.ru"
                        : (i % 3 == 0)
                        ? "mmo-"
                        : (i % 5 == 0)
                        ? "develop.ru"
                        : String.valueOf(i))
                .reduce((a, b) -> a + System.lineSeparator() + b);
        System.out.println(string.get());
    }
}
 
Ответить с цитированием