Сообщений: 983
Тем: 11
Зарегистрирован: Mar 2010
Репутация:
11,535
Blakkky Написал:ЗЫ: опечатался в формуле на яве, интересно, сколько времени уйдет на поиск опечатки (я 4 раза код прочитал, пока нашел, хотя ошибка наибанальнейшая).
Скобки же, или нет?
[src=java]x1 = (( new Double4k( 0.0 ) ).sub( Double4k: qrt ( d ) )).div( a ).div( new Double4k( 2.0 ) );[/src]
C++ math offtop
Для всякой математики C++ очень даже удобно:
Сообщений: 1,326
Тем: 10
Зарегистрирован: Apr 2010
Репутация:
2,078
Blakkky Написал:ЗЫ: опечатался в формуле на яве, интересно, сколько времени уйдет на поиск опечатки (я 4 раза код прочитал, пока нашел, хотя ошибка наибанальнейшая). "Неймспейсы" в java отделяются . а не ::
А вообще, перегруз операторов - палка о двух концах. Я с вами согласен.
Сообщений: 123
Тем: 2
Зарегистрирован: Sep 2008
Репутация:
1,861
Array Написал:Скобки же, или нет?
[src=java]x1 = (( new Double4k( 0.0 ) ).sub( Double4k:qrt ( d ) )).div( a ).div( new Double4k( 2.0 ) );[/src] Может быть, без IDE не понятно, если честно. Но ошибка не в этом. Да и для вызова функций вроде как последовательность однозначна, слева направо.
Azagthtot Написал:"Неймспейсы" в java отделяются . а не ::
А вообще, перегруз операторов - палка о двух концах. Я с вами согласен. Да, это тоже косяк, но я не про эту ошибку, я про ошибку в логике кода говорил (пример-то на читабельность кода).
О, пока отвечал, еще одну ошибку нашел
Ошибки (это к вопросу чтения кода):
1. x1 и x2 вычисляются одинаково, хотя это должно быть не так
x1 = new Double4k( 0. ).sub( Double4k.sqrt ( d ) ).div( a ).div( new Double4k( 2. ) );
x2 = new Double4k( 0. ).add( Double4k.sqrt ( d ) ).div( a ).div( new Double4k( 2. ) );
2. Потерял b в формуле для корней:
x1 = new Double4k( 0. ).sub( b ).sub( Double4k.sqrt ( d ) ).div( a ).div( new Double4k( 2. ) );
x2 = new Double4k( 0. ).sub( b ).add( Double4k.sqrt ( d ) ).div( a ).div( new Double4k( 2. ) );
Кстати, перегрузка операторов легко решается на уровне препроцессора (по крайней мере для себя я это делал так: если после переменной-объекта есть +-*/, то поискать у нее метод __operatorAdd(...) и заменить + на его вызов).
И препроцессор простенький для дублирования/генерации кода для себя тоже делал сам (кое-что удобно генерировать, а не писать руками), build.xml для ant-а + php-скрипт для предобработки классов перед компиляцией. Один в таком решении косяк - код перестает валидироваться в IDE.
Сообщений: 1,912
Тем: 56
Зарегистрирован: Jan 2009
Репутация:
12,921
Blakkky Написал:Может быть, без IDE не понятно, если честно. Но ошибка не в этом. Да и для вызова функций вроде как последовательность однозначна, слева направо.
Да, это тоже косяк, но я не про эту ошибку, я про ошибку в логике кода говорил (пример-то на читабельность кода).
О, пока отвечал, еще одну ошибку нашел
Ошибки (это к вопросу чтения кода):
1. x1 и x2 вычисляются одинаково, хотя это должно быть не так
x1 = new Double4k( 0. ).sub( Double4k.sqrt ( d ) ).div( a ).div( new Double4k( 2. ) );
x2 = new Double4k( 0. ).add( Double4k.sqrt ( d ) ).div( a ).div( new Double4k( 2. ) );
2. Потерял b в формуле для корней:
x1 = new Double4k( 0. ).sub( b ).sub( Double4k.sqrt ( d ) ).div( a ).div( new Double4k( 2. ) );
x2 = new Double4k( 0. ).sub( b ).add( Double4k.sqrt ( d ) ).div( a ).div( new Double4k( 2. ) );
Кстати, перегрузка операторов легко решается на уровне препроцессора (по крайней мере для себя я это делал так: если после переменной-объекта есть +-*/, то поискать у нее метод __operatorAdd(...) и заменить + на его вызов).
И препроцессор простенький для дублирования/генерации кода для себя тоже делал сам (кое-что удобно генерировать, а не писать руками), build.xml для ant-а + php-скрипт для предобработки классов перед компиляцией. Один в таком решении косяк - код перестает валидироваться в IDE. поддержка IDE незнаю проще - если есть IDE опенсорс, а вот компилятор(когда ниодин ненравится это ппц):cd:
Сообщений: 2,455
Тем: 53
Зарегистрирован: Apr 2010
Репутация:
19,728
Azagthtot Написал:Достал автобоксинг... Ну почему getDeclaredConstructor(int.class) и getDeclaredConstructor(Integer.class) две большие разницы?
Достал массив. Который с одной стороны вроде и Iterable<> (for.. : arr) а с другой (iterator()) вроде и нет...
Решили, блин, проблему... Прощайте примитивы, привет концепция: "Обьект - мой Бог!".
С JavaOne:
Цитата:Первый доклад назывался «JDK8 и дальше». Собственно JDK8 и набор его фич уже ни для кого не секрет, а особый интерес у меня вызывало «…и дальше». Фича-листы показывали так быстро, что я почти ничего не запомнил, только урывками: примитивов больше не будет, только объекты, самонастраивающаяся JVM и много-много другого. Ждём слайды на сайте конференции.
Пруф: тык-тык
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
Сообщений: 1,912
Тем: 56
Зарегистрирован: Jan 2009
Репутация:
12,921
ASevenfold Написал:Решили, блин, проблему... Прощайте примитивы, привет концепция: "Обьект - мой Бог!".
С JavaOne:
Пруф: тык-тык
:ec: я пасс чёто писать на ней)
Сообщений: 134
Тем: 0
Зарегистрирован: Apr 2012
Репутация:
277
Всегда в джаве всего хватало, а те, кому чего-то не хватают, пытаются в ней увидеть либо черезмерный синтаксический сахар либо другой какой-то язык
|