Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Маленький тест, :) 
:(
    Опции темы
Mayk
Дата 3.9.2005, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: нет
Всего: 134



Нет, давайте извращаться в яве smile
В сях уже достаточно поиздевались smile
Весь вечер угробил на то, чтобы найти извращенное решение... Блин, пока не получается. Такое растройство было, когда узнал, что Class объявлен как final ((((


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
batigoal
Дата 3.9.2005, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Ну дык чтобы извращенцы всякие не наследовалиsmile


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
LSD
Дата 3.9.2005, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Можно использовать глобальные хранилища, наподобие System.getProperty() и иже с ним.
Можно открывать на прослушивание определенный порт (тут вообще один класс, не только во всех JVM, на данной машине).



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
batigoal
Дата 3.9.2005, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Цитата(LSD @ 3.9.2005, 23:16)
Можно открывать на прослушивание определенный порт (тут вообще один класс, не только во всех JVM, на данной машине).

Но ведь так мы сможет только выяснить, существует ли экземпляр класса, и только. Доступа к его переменным мы не получим.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Mayk
Дата 3.9.2005, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: нет
Всего: 134



Скуучно. С таким же успехом можно использовать наличие/отсутсвие файла на диске. Хочется что-нибудь веселое.
Пока кроме как замены ClassLoader'а с целью хранения кол-ва созданных объектов в нём ничего интересного придумать не могу.
Но хранение кол-ва объектов в ClassLoader'е это
Цитата(LSD @ 4.9.2005, 02:16)
System.getProperty() и иже с ним.

То есть скучно.. Надо попробовать поиграться с defineClass. Там есть массив байт, а на этом можно сыграть smile


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
LSD
Дата 3.9.2005, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(Lamer @ 3.9.2005, 23:23)
Но ведь так мы сможет только выяснить, существует ли экземпляр класса, и только. Доступа к его переменным мы не получим.

Получим, через тот же порт smile
Добавлено @ 22:41
Цитата(Mayk @ 3.9.2005, 23:26)
Надо попробовать поиграться с defineClass. Там есть массив байт, а на этом можно сыграть

Там же есть верификация, и если очень активно играться, то можно и доиграться, до того что класс не пройдет верификацию.
Добавлено @ 22:46
Да кстати, если коструктор не приватный, то новый экземпляр всегда можно получить через Singleton.class.newInstance().


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Mayk(незалогиненный)
Дата 4.9.2005, 08:27 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ладно, думать надо долго как пройти верификацию. В спецификации это в принципе описано. Но терять выходной на чтение спецификации не хочется.
Вот еще вопрос, к яве отношение имеет весьма посредственне, но все~ же.
Продолжите числовой ряд:
0,8,4,12,2,10,6,?,?,?,?,?
  Вверх
jer1
Дата 5.9.2005, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 24.1.2005
Где: Харьков Украина

Репутация: 4
Всего: 5



как утверждает ya.ru пахнет это дискретным преобразованием Фурье
0, 8, 4, 12, 2, 10, 6,
продолжение: 14, 1, 9, 5, 13, 3, 11 ...

--------------------
:w!q
PM MAIL   Вверх
LSD
Дата 5.9.2005, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(Mayk @ 4.9.2005, 09:27)
Ладно, думать надо долго как пройти верификацию. В спецификации это в принципе описано. Но терять выходной на чтение спецификации не хочется.

А чего ты хочешь в итоге добиться?

Можно использовать enum, он автоматом обеспечивает единственность экземпляра
Код
public enum Singleton
{
  INSTANCE("My singleton");

  private final Object param;
  
  public Singleton(Object param)
  {
    this.param = param;
  }

  public Object getParam()
  {
    return param;
  }
}

Но по сути, там те же статические переменные (правда мы их не объявляем, это нас оправдывает smile ).

Это сообщение отредактировал(а) LSD - 5.9.2005, 09:51


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Mayk
Дата 5.9.2005, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: нет
Всего: 134



Ух ты, LSD класно придумано Ж) Никак не могу привыкнуть, что в enum можно объявлять методы.
Цитата(LSD @ 5.9.2005, 12:59)
А чего ты хочешь в итоге добиться?

Да ничего, просто мозги подразмячь.
Цитата(jer1 @ 5.9.2005, 12:31)
как утверждает ya.ru пахнет это дискретным преобразованием Фурье
0, 8, 4, 12, 2, 10, 6,
продолжение: 14, 1, 9, 5, 13, 3, 11 ...

Дискретное преобразование Фурье? smile Вот уж чего не знал, того не знал smile Но последовательность продолжена верно.
Вся фишка в двоичной записи этих чисел. На n'ной позиции стоит перевернутое n:
0) 0=B'0000 -> B'0000=0 (вот такой вот забавный префикс для бинарных чисел)
1) 1=B'0001 -> B'1000=8
2) 2=B'0010 -> B'0100=4
3) 3=B'0011 -> B'1100=C
т.д.

По человечески это для переворота байта задом наперёд(последний бит стал первым, второй стал предпоследним и т.д.) можно использовать:
Код

reversedByte = (sequence[sourceByte & 0xf] << 4) | (sequence[sourceByte >> 4]);



--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
LSD
Дата 5.9.2005, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(Mayk @ 5.9.2005, 10:26)
Цитата(LSD @ 5.9.2005, 12:59)
А чего ты хочешь в итоге добиться?

Да ничего, просто мозги подразмячь.

Это я понимаю smile
Я имел в виду, что ты хочешь добиться от класса, такого что нельзя реализовать кодом?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Mayk
Дата 6.9.2005, 06:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: нет
Всего: 134



Цитата(LSD @ 5.9.2005, 13:47)
Я имел в виду, что ты хочешь добиться от класса, такого что нельзя реализовать кодом?

Почему нельзя кодом? Можно. Только без статических переменных. Мне тут казалось, что можно получить список созданных объектов, что решило бы проблему, но не нашел(только если самому куда-нить присобачить. В тот же class loader).

Вот вам еще задачка. Что выведет этот кот? Отвечаем без запуска. Это уже упоминалось в си, но не думаю, что все жависты читали. А задачка классная.
Код

        float a,b,c,t1,t2,t3;
        a=95.0f;
        b=0.02f;
        t1=(a+b)*(a+b);
        t2=-2.0f*a*b-a*a;
        t3=b*b;
        c=(t1+t2)/t3;
        System.out.printf("\nc=%f\n",c);   

А теперь запустите smile
А теперь отложьте учебник по арифметике, замените float на double и запустите ещё раз.



--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Dancer
Дата 6.9.2005, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 29.4.2005
Где: Nizhniy Novgorod

Репутация: нет
Всего: 37



я так думаю:

c=%f
интовое значение корня квадратного уравнения

пока ещё не проверял smile

Проверил smile
мдя..... куписля блин на printf smile) 5+ задачка

Это сообщение отредактировал(а) Dancer - 6.9.2005, 08:20


--------------------
У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! smile
PM MAIL   Вверх
Metal_Heart
Дата 6.9.2005, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

Репутация: 4
Всего: 12



c=1
Добавлено @ 10:55
так как если
Код

        t1=(a+b)*(a+b);
        t2=-2.0f*a*b-a*a;
        t3=b*b;
        c=(t1+t2)/t3;


то раскроем скобки:
Код

с=(t1  +  t2)  /  b^2

c=(t1     -2ab-a^2)  /  b^2

c=(a^2+2ab+b^2   -   2ab - a^2)  /  b^2

сокращаем:
Код

c=(b^2)  /  b^2

c=1   


Это сообщение отредактировал(а) Metal_Heart - 6.9.2005, 10:56


--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
batigoal
Дата 6.9.2005, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



А если поменять float на double, то все почти правильно smile


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1230 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.