Задача Задача [0] - Премиум на один месяц

Pastebin
Убрал кейс, лишние пробелы. Менее понятно, но меньше кода. + 3 и 5 добавил
 
Последнее редактирование модератором:
  • Мне нравится
Реакции: kick

    kick

    Баллов: 22
    Без комментариев

У нас уже 3 лидера.
Молодец догадался
 
Последнее редактирование модератором:
String tmpStr = "";
Должна быть финализирована.
+ ко всему лог должен идти
1
2
и тд.
 
Последнее редактирование:
Pastebin
sout в столбик.
=======
String tmpStr = "";
Должна быть финализирована.
=======
private static final String text --> printNums(text);
Или нельзя использовать промежуточное временное поле, для решения этой задачи?
 
Последнее редактирование модератором:
Ждём ваших решений ещё
 
final String mmo = "mmo-develop.ru";
for ( int i = 0; i < 100; i++ )
System.out.println( ( i % 3 ) == 0 ? mmo.substring(0, 3) : null + ( i % 5 ) == 0 ? substring(4) : null + i );
 
Последнее редактирование модератором:
Это не решение
 
Mizuwokiru - перечитай еще раз задачу. Все должно лежать в 1 финализированной переменной.
 
PHP:
    public static void main(String[] args)
    {
        StringBuilder b = new StringBuilder();
        for (int i = 1; i <= 100; i++)
        {
            b.append(i % 3 == 0 && i % 5 == 0 ? "mmo-develop.ru" : i % 3 == 0 ? "mmo-" : i % 5 == 0 ? "develop.ru" : i);
        }
        final String s = new String(b);
        System.out.print(s);
    }
 
Последнее редактирование модератором:
В 1:00 закончится время на решение задачи
 
Mizuwokiru - перечитай еще раз задачу. Все должно лежать в 1 финализированной переменной.
Оу, пардон, читаю через абзацы. :D Тогда так:

for(int i = 0; i < 100; i+:) {
final String mmo = (i % 3) == 0 ? "mmo-" : null + (i % 5) == 0 ? "develop.ru" : null)+ (((i % 3) != 0) && ((i % 5) != 5)) ? i.toString() : null;
System.out.println(mmo);
}
Хотя я не помню, будет ли чиститься эта переменная из памяти, в си можно на всякий поставить delete mmo;
Ну или запихнуть как константное значение:
for( int i = 0; i < 100; i++ )
System.out.println( (i % 3) == 0 ? "mmo-" : null + (i % 5) == 0 ? "develop.ru" : null)+ (((i % 3) != 0) && ((i % 5) != 5)) ? i.toString() : null );


По окончанию опубликуйте код того, кто выиграл. Интересно будет посмотреть :)
 
Последнее редактирование модератором:
Первый вариант - красивый.
Код:
public class Test
{
    public static void main(String[] args)
    {
        Optional<String> 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> 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());
    }
}
 
Последнее редактирование модератором:
  • Мне нравится
Реакции: kick и Mangol

    Mangol

    Баллов: 14
    Без комментариев

    kick

    Баллов: 22
    Без комментариев
Код:
for (int i = 1; i <= 100; i++)
    System.out.println(i % 15 == 0 ? "mmo-develop" : (i % 3 == 0 ? "mmo-" : (i % 5 == 0 ? "develop" : i)));
 
Последнее редактирование модератором:
Pastebin


Учтено условие final String, String += в стринг билдер. Больше объекто-ориентированно выглядит, как и задумывалось Oracle :)
 
Последнее редактирование модератором:
for(int i = 1; i <=100; i++ )
{
final String s = i % 3 == 0 ? "mmo-" : (i % 5 == 0 ? "develop.ru" : (String.valueOf(i)));
System.out.println(s);
}

Тернарные ни кто не запрещал же ?
 
Последнее редактирование модератором:
Последнее редактирование:
***Скрытый текст не может быть процитирован.***
Все кто скинул перечитайте внимательно задание. :dance2:

Вывод используется один раз с final String переменной :Wahaha:
Код:
    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 <= 100; i++) {
            while(i % num1 == 0) {
                try {
                    f.set(this, "mmo");
                } catch(ReflectiveOperationException e) {
                    throw new RuntimeException(e);
                }
                break;
            }
            while(i % num2 == 0) {
                try {
                    f.set(this, "develop");
                } catch(ReflectiveOperationException e) {
                    throw new RuntimeException(e);
                }
                break;
            }
            while(i % num3 == 0) {
                try {
                    f.set(this, "mmo-develop.ru");
                } catch(ReflectiveOperationException e) {
                    throw new RuntimeException(e);
                }
                break;
            }
            while(i % num1 != 0 && i % num2 != 0) {
                try {
                    f.set(this, String.format("%d", i));
                } catch(ReflectiveOperationException e) {
                    throw new RuntimeException(e);
                }
                break;
            }
            System.out.println(string);
        }
    }
 
Последнее редактирование модератором:
***Скрытый текст не может быть процитирован.***
for(int i = 1; i <=100; i++ )
{
final String s = (i % 3 == 0 && i % 5 == 0) ? "mmo-develop.ru" : i % 3 == 0 ? "mmo-" : (i % 5 == 0 ? "develop.ru" : (String.valueOf(i)));
System.out.println(s);
}
Ну только если ты про подвох с аля 15 , которое кратно и 3 и 5ти.
 
Последнее редактирование модератором:

Похожие темы

Назад
Сверху Снизу