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

  #42  
Старый 07.09.2015, 10:35
mAnGoL
Новичок
Регистрация: 21.01.2010
Сообщений: 0
С нами: 8581120

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

Выйграли:

@Java-man - премиум на 1 месяц.

Цитата:
Сообщение от Java-man  

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

Код:


Код:
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());
    }
}
@b3trayer - премиум 2 недели.

[QUOTE="zcxv"]

Вывод используется один раз с final String переменной

Код:


[CODE]
public static void main(String[] args) {
MmoDevelop obj = new MmoDevelop ();
obj.version1();
}

final String string = "null".toString(); //disabling inlining
public void version1() {
Field f;
try {
f = MmoDevelop .class.getDeclaredField("string");
f.setAccessible(true);
Field modifiers = Field.class.getDeclaredField("modifiers");
modifiers.setAccessible(true);
modifiers.setInt(f, f.getModifiers() & ~Modifier.FINAL);
} catch(Throwable e) {
throw new RuntimeException(e);
}

final int num1 = 3;
final int num2 = 5;
final int num3 = 15;
for(int i = 1; i

Код:


Код:
public class Mmodev {

    final String text;

    public Mmodev() {
        text = makeString();
    }

    public static void main(String[] args) {
        Mmodev m1 = new Mmodev();
        System.out.println(m1);
    }

    private String makeString() {
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 1; 100 >= i; i++) {
            stringBuilder.append((i % 5 == 0 && i % 3 == 0) ? "mmo-develop.ru\n" : (i % 5 == 0) ? "develop.ru\n" : (i % 3 == 0) ? "mmo-\n" : i + "\n");
        }
        return stringBuilder.toString();
    }

    @Override
    public String toString() {
        return text;
    }
}
 
Ответить с цитированием