Сап двач, изучаю джаву, попалась задача представить число long в виде массива. Написал такой код, но он почему-то выводит какую то рандомную хуйню, причем онлайн компилятор и идея даёт разные выходные данные. Пик 2 онлайн компилятор, пик 3 идея. Куда копать чтоб оно заработало?
>>263405978 (OP) а что это за джаваскриптовские выебоны - '0' лично меня смущает то, что в задании сказали long в виде массива а у тебя первой же строкой в функции преобразование в int явное
Во-первых, массив выводишь неправильно. Arrays.toString(...) используй. А вообще, всё плохо. Получаешь лонг, переводишь в инт, потом - в строку. В задаче - превратить лонг в массив же? Но у тебя уже не лонг (инт другой размер имеет).
Ты в консоль пытаешься вывести массив целиком, так делать нельзя. Так вывести можно только примитивные типы. Выведи его через цикл поэлементно, или хз, может в джаве есть какие-то обёртки.
Алсо, какого хуя нельзя было воспользоваться Long.toString вместо Integer.toString раз уж все равно враппером пользуешься? У тебя числа больше/меньше +-2^31 работать не будут.
>>263407814 >Long.toString вместо Integer.toString А вот теперь я не понял. Зачем long.tostring, когда есть божественный String.valueOf, которому на вход можно скормить хоть интегер, хоть лонг?
>>263408379 Можно. Но лучше делать отдельным методом. Представь, что в твоей программе нужно будет 10 раз это выполнить. Что лучше, раскопировать весь код 10 раз в мейн методе или сделать один метод для твоей задачи и 10 раз его вызвать?
>>263408506 >За касты к стрингам / чарам на собеседовании выебут. Почему? Понятно, что больше памяти расходуется, но ведь это неактуально. Да и вообще иногда удобно. мимо >>263408454
>>263405978 (OP) String s = String.valueOf(n); либо String s = Long.toString(n); в первой строке метода digitize Ты же приводишь тип long к типу int, который способен хранить меньшее числовое значение. То есть ты этим кастом теряешь часть данных/
Абу сын ебаной конченой гниды со своей капчёй ебучей
>>263408014 Правильно понимаю что log10 это десятичный логарифм числа, например log10 от 1000 это 3, соответственно log10 от 1000 + 1 это 4, то есть длина числа ?
>>263408631 Потому что дело не только в памяти, но еще это медленно. Если такой метод будет вызываться много-много раз, то проигрыш в скорости будет колоссальный.
>>263409267 Ну да, к реальной работе особо не имеют отношения.
Ну как. Я вот надрочился всякие задачик на деревья решать, мне на работе дали задание спарист XML дерево рекурсивно, у меня с этим проблем никаких не было, у тебя могут быть.
Но вообще все эти задачки нужны для собеседований, где их спрашивают. Да, это хуйня и тупость и по хорошему тебя должны спрашивать уже по готовому коду или твоему тестовому заданию, но такова жизнь.
>>263405978 (OP) Бля лол учил жс но этот код смог понять, только не пойму нахуй он внутри digitize обявляет string s? И вообще digitize это что? Массив чисел который возвращает массив чисел array? Бля
>>263409564 А теперь в идеале взять и объединить эти два решения: из твоего взять работу сразу с массивом, а из его решения — заполнение массива через арифметические операции только лишнее вычитание убрать
>>263409506 Ну да, по-хорошему что-то вроде этого лучше сделать. Но в реальности вообще никто не заморачивается всеми эти типами и массивами. Главное, что б чёрная коробка результат правильный выдавала, а что там в ней - дело десятое. А будет медленно - ещё плашку в сервак вставим.
>>263405978 (OP) Ну и залупные задачки же ты себе выбираешь, бросай Яву, для нее нет в будущем место, технология и стек умирают, вкатывайся лучше во что-то прогрессивное, что точно проживет ещё не один десяток, я про ноду, го, раст (но только если рудна системное программирование) и етц. мимо питухоно недомидл
>>263409785 Да, правильно, только вычитание лишнее убери. Деление-то целочисленное: 1234/10==1230/10 > а что там в ней — дело десятое. А будет медленно — ещё плашку в сервак вставим. Да я тебя за такое на кодревью выебу. Будешь мне тесты с ограничением по времени выполнения писать, и чтобы на полудохлом воркере корп CI отрабатывало > ещё плашку в сервак вставим Ну и хорошо, что в 2022 еще остаются люди, мыслящие монолитами и железными серверами. Мне от этого только лучше
>>263410091 >вычитание там не просто вычитание, а ещё и обновление number. Что б не считать остаток от 10, 100, 1000 и т.д., а каждую итерацию от 10. >в 2022 ещё остаются люди В жабе сплошное античное легаси везде. И инфраструктура там обычно соответствующая.
>>263410369 >>263410527 > там не просто вычитание, а ещё и обновление number. А я тебе говорю именно про вычитание. Чтобы вместо number = (number — m) / 10 у тебя было просто number /= 10 > В жабе сплошное античное легаси везде. И инфраструктура там обычно соответствующая. Ой вей, ну расскажи мне, что же там за античное легаси. У меня на проекте, например, 17 + котлин и спринг с облаками. Даже в большинстве банков уже все на к8с и ош переходят или уже перешли с железных решений. Если ты по какой-то случайности всё еще живешь на проекте с легаси, прямо сейчас открывай спеку спринг клауда, чтобы через месяц уже мочь открыть резюме и свалить нахуй из той клоаки, где ты сейчас обитаешь
>>263410624 Да, молодец, правильно. Еще годик поучишься, и сможешь в джуны идти, если не можешь посмотреть и проанализировать, что другие в треде скидывают
>>263410801 >расскажи Большая часть кода Java7 (никаких котлинов и скалы, хотя и умею). Томкат, mySql, фронтенд без жс. И да, не спринг, лол. Чем бы ещё тебя напугать? А ну да. Апи, с которыми мы работаем ещё древнее. Соап-конверты на аксисе, мд5 хэши и т.п. >свалить нахуй А зачем? Пока меня всё устраивает. Я тут незаменим. Современный молодой специалист скорее удавится, чем будет в этом всём копаться. А я старый и скучный и уже всё что надо знаю. Деньги мне тратить особо не на что. За зарплатой не гонюсь. Сижу много лет на одном месте. За копейки, но и не напрягаюсь.
>>263411416 > Чем бы ещё тебя напугать? Да не напугаешь, лол. Сам со всем этим работал, даже с 5 приходилось сталкиваться > mySql А вот тут удивил, если честно. Ожидал увидеть оракл > мд5 хэши Вашим безопасникам нормально? > Я тут незаменим. > не напрягаюсь. В этом и проблема, анон. Ты сидишь так толком без дела, голову не напрягаешь, нового ничего не изучаешь. Как придет время что-то менять компания загнется, решат стек менять, тебя самого заебет вконец — мало ли что, крайне сложно будет вкатиться куда-то. Да, всегда будут проекты на легаси-стеке, но даже банки, как я уже писал, его обновляют. Так что ты банально выйдешь на рынок без актуальных знаний. Нормально? Алсо, если ты и сам говоришь, что молодой специалист скорее удавится, ты не боишься, что в какой-то момент приток свежей крови к вам в компанию так сильно иссякнет, что на тебя будут сваливать всё больше и больше, и ты будешь не просто незаменимым, а вообще околоединственным?
>>263411240 Тест не очень корректный - надо бы как-то использовать генерящиеся значения с каждой итерации, чтобы компилятор это не оптимизировал, но результат и так налицо.
>>263411840 >оракл Да какая разница, мускль, оракл, постгрес. Что поставили 10 лет назад то и стоит. >Вашим безопасникам А это и не наши. В некоторых местах (где именно, не скажу) торчащий наружу эндпоинт для совершения денежной операции даже не хэшем защищён, а "паролем", лол. Т.е. прям в юрл передаёшь пароль а-ля /password=12345&operation=pay&amount=1000 . Я сам не особо в безопасности разбираюсь, но даже у меня на жопе волосы дыбом встают иногда, когда я вижу какое-нибудь древнее апи, которое надо использовать. >голову не напрягаешь По работе не напрягаю. Так то я для себя нет-нет да что-нибудь новенькое и изучаю. Но без фанатизма. Вот этих мифических "актуальных знаний" ни у кого нет, как мне кажется. Ты можешь год потратить на доскональное изучение очередной модной технологии, и обнаружить, что она успела безнадёжно устареть, авторы окуклились, а вся информация в сети исходит от таких же изучателей. Когда придёт время, я нагуглю основы и этого хватит. Всё равно на новом месте будет какая то своя уникальная специфика, к которой заранее не подготовиться. А если не осилю - поделом мне, пойду в пятёрочку кассиром.
>>263409930 Да найдет он работу на ДЖАВА просто работа будет говно типа сапортить какое-то говно с пердисками. Даже код не надо будет писать, скорее можно сказать так, если любишь писать код ДЖАВА ХУЙНЯ
>>263405978 (OP) > попалась задача представить число long в виде массива На практике имеет смысл только представление в виде массива байтов. tm_stp[0] = (byte) ((ts >> 24) & 0xFF); tm_stp[1] = (byte) ((ts >> 16) & 0xFF); tm_stp[2] = (byte) ((ts >> 8) & 0xFF); tm_stp[3] = (byte) ((ts >> 0) & 0xFF);
>>263414713 В жабе так тоже можно: System.out.println(Arrays.toString(String.valueOf(number).toCharArray())); Но это не "решение" задачи, а использование чужого (встроенного) решения. Оно вкатывальщика ничему не научит.
>>263416419 У тебя там StringBuilder в каждом вызове новый, можно без него обойтись. Со строками такого не будет из-за интернирования, хочешь проверь этот метод - https://ideone.com/4zibRX
>>263416741 Забавно, твое решение самое медленное. Думаю из-за .parseInt() Код теста: https://ideone.com/o6FuC9 заранить его тут из-за таймаута не получится, это просто для информации
>digitizeStr: 6075 >digitizeStr2 (no StringBuilder): 13762 >Division by 10: 5774
>>263419341 Так вроде оп и есть вкатун который пойдет работать за 30к и нарабатывать опыт. Вот если бы вообще не смог решение придумать тогда скорее всего программирование не для него.
>>263419427 Так ОП молодец, не хочу ничего сказать, решил таки задачку, хоть и с помощью, еще попрактикуется на всяких хакерранках и прочих литкодах и пройдет собес. Речь о том, что всегда стоит поискать лучшее решение. Ну а на собесе, даже если делать решение со строками, то надо обязательно сказать интервьюеру, что можно сделать и через деление на 10 и с помощью битовой арифметики (типа как >>263414388 предложил)
>>263419992 Это такой хуй который дрочит байты и считает милисекунды. На джаве абсолютно бесполезная хуйня потому что 99% задач на джаве абсолютно не байтоебские. А остальной 1% все равно на си будет быстрее.
>>263405978 (OP) ты бы для начала перед решением задачек уровня 9 класса информатики (хотя на ОГЭ кстати задачи намного сложнее этой) синтаксис выучил и научился код нормально писать. У нас в универе на каждой лабе и экзамене давали десятки задач раз 100 в сложнее прямиком с литкода и со спортивных сайтов по программированию. И знаешь, сколько потом устроилось на работу? 5 челов из всей группы, которые каждый день пилили свои проекты и начинали работать (не все из них) уже с последних курсов