
06.09.2015, 20:57
|
|
Познающий
Регистрация: 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());
}
}
|
|
|