ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Задача [0] - Премиум на один месяц (https://forum.antichat.xyz/showthread.php?t=764194)

mAnGoL 06.09.2015 02:00

Платформа : Java

Напишите программу, которая выводит на экран числа от 1 до 100.

При этом вместо чисел, кратных трем, программа должна выводить слово «mmo-», кратных пяти — слово «develop.ru» *.

*При всем этом можно передавать лишь 1 переменную final String, на вывод числа, слово. (Передача в метод печати ограничено 1 запросом).

P.S. Для @b3trayer , @Deazer, @L2CCCP запрещено юзать if, else.

Естественно есть подвох.

Готовые решения ложить под хайд по имени пользователя @Mangol

kick 06.09.2015 02:33

Качество кода учитывается! Лучший из вариантов получит Премиум на один месяц.

zcxv 06.09.2015 05:54

Не совсем понял: "При всем этом можно передавать лишь 1 переменную final String, на вывод числа, слово. (Передача в метод печати ограничено 1 запросом)."

Код:


[CODE]
public static void version1() {
final int num1 = 3;
final int num2 = 5;
final String string = "mmo-develop.ru";
for(int i = 1; i

test 06.09.2015 07:20

PHP:


[CODE]
public
static
void
main
(
String
[
]
args
)
{
StringBuilder s
=
new
StringBuilder
(
)
;
for
(
int i
=
1
;
i

Tyrel 06.09.2015 11:06

Код:


[CODE]
public class Test
{
public static void main(String[] args)
{
for(int i = 0; i

mAnGoL 06.09.2015 11:10

Частично, но все же нет. Как выше описано есть злосный подвох.

Tyrel 06.09.2015 11:13

Хм, тогда ТЗ неверное, все что описано соблюдено, и кратность, и передача строго 1 параметра final String и отсутствие if, else))

L2CCCP 06.09.2015 11:15

Код:


[CODE]
package com.l2cccp;

/**
* @author L2CCCP
* @site http://l2cccp.com/
*/
public class MangolOmgCrazyWork
{
public static void main(String... args)
{
for(int i = 1; i

mAnGoL 06.09.2015 11:16

Почти верно. Но есть подвох. Думай)

Tyrel 06.09.2015 11:21

Ну тогда так, если уж вообще строго 1 переменная final String

Код:


[CODE]
public class Test
{
public static void main(String[] args)
{
final String s = "%1%";
for(int i = 0; i

mAnGoL 06.09.2015 11:38

Нет, думай! Близко, очень близко! Ты не о том сейчас думаешь) Думать нужно не о финалах уже.

Tyrel 06.09.2015 11:54

Дай хоть подсказку что не так))

Иван 06.09.2015 11:54

Не могу не как вставить хайд

mAnGoL 06.09.2015 11:54

Готовые решения ложить под хайд по имени пользователя @Mangol !

mAnGoL 06.09.2015 11:56

Скрытое содержимое для пользователей с ID: 260

Иван 06.09.2015 11:57

Pastebin

Tyrel 06.09.2015 11:57

Теперь точно все)))

Код:


[CODE]
public class Test
{
public static void main(String[] args)
{
for(int i = 0; i

mAnGoL 06.09.2015 11:58

Пока 2 лидера.

kick 06.09.2015 12:00

Цитата:

Сообщение от Иван

Не могу не как вставить хайд

Хайд

В добавок на панели BB-кодов всё есть с описанием

mAnGoL 06.09.2015 12:09

Близко но нет, есть подвох.

Иван 06.09.2015 12:22

Pastebin

Убрал кейс, лишние пробелы. Менее понятно, но меньше кода. + 3 и 5 добавил

kick 06.09.2015 12:24

У нас уже 3 лидера.

Молодец догадался

mAnGoL 06.09.2015 12:25

String tmpStr = "";

Должна быть финализирована.

+ ко всему лог должен идти

1

2

и тд.

Иван 06.09.2015 12:41

Pastebin

sout в столбик.

=======

String tmpStr = "";

Должна быть финализирована.

=======

private static finalString text --> printNums(text);

Или нельзя использовать промежуточное временное поле, для решения этой задачи?

Иван 06.09.2015 13:50

Скрытое содержимое для пользователей с ID: 260

kick 06.09.2015 14:10


Mizuwokiru 06.09.2015 14:54

final String mmo = "mmo-develop.ru";

for ( int i = 0; i

kick 06.09.2015 14:56

Это не решение

mAnGoL 06.09.2015 16:18

@Warencense - перечитай еще раз задачу. Все должно лежать в 1 финализированной переменной.

test 06.09.2015 17:14

PHP:


[CODE]
public
static
void
main
(
String
[
]
args
)
{
StringBuilder b
=
new
StringBuilder
(
)
;
for
(
int i
=
1
;
i

kick 06.09.2015 19:32

В 1:00 закончится время на решение задачи

Mizuwokiru 06.09.2015 20:41

Цитата:

Сообщение от Mangol

@Warencense - перечитай еще раз задачу. Все должно лежать в 1 финализированной переменной.

Оу, пардон, читаю через абзацы. Тогда так:

for(int i = 0; i

Java-man 06.09.2015 20:57

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

Код:


Код:

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());
    }
}


Gaikotsu 06.09.2015 21:39

Код:


[CODE]
for (int i = 1; i

Иван 06.09.2015 21:55

Pastebin

Учтено условие final String, String += в стринг билдер. Больше объекто-ориентированно выглядит, как и задумывалось Oracle

Deazer 07.09.2015 00:42

for(int i = 1; i

mAnGoL 07.09.2015 00:53

Цитата:

Сообщение от Deazer

***Скрытый текст не может быть процитирован.***
Тернарные ни кто не запрещал же ?

Нет, никто не запрещал. Не правильно, есть подвох.

Influence 07.09.2015 00:59

Цитата:

Сообщение от Deazer

***Скрытый текст не может быть процитирован.***
Тернарные ни кто не запрещал же ?

с одной стороны - нет, с другой - в основе те же иф-елсы

zcxv 07.09.2015 01:15

Цитата:

Сообщение от Mangol

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

Вывод используется один раз с 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

Deazer 07.09.2015 01:22

Цитата:

Сообщение от Mangol

***Скрытый текст не может быть процитирован.***

for(int i = 1; i


Время: 20:30