• Решила задачу по Java, но я новичок, и мое решение "наивное", может у кого-то есть варианты получше?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    1) метод displayInfo() можно заменить на метод toString() так как по факту он именно это и делает.
    2) Имеется синт. ошибка в коде и не совсем понятен смысл
    evaluate (); {
                if (google.salaryProposed >= vasya.salaryDesired) {
                    System.out.println("\nWe can hire Vasya! :)");
                } else {
                    System.out.println("\nWe can't :(");
                }
            }

    private static void evaluate() {
    
        }


    Реализовать метод evaluate() можно по-разному. Например, создать отдельный сервисный класс и добавить статичный метод туда.

    Вот, один из возможных вариантов решения. Вообще думаю, что можно было бы Employee & Employer & SalaryService вывести за пределы класса Main и сделать публичными. Ну и я так понял, что модификаторы доступа вы еще не проходили. Посмотрите на такие вещи, как принципы ООП (обратите внимание на инкапсуляцию), посмотрите на Java Bean ( toString, публичный класс и т.д. )

    public class Main {
    
        public static void main(String[] args) {
    
            Employer google = new Employer("Google", 500);
            System.out.println(google);
    
            Employee vasya = new Employee("Vasya", 400);
            System.out.println(vasya);
    
            System.out.println("Result: " + SalaryService.evaluate(google.salaryProposed, vasya.salaryDesired));
    
        }
    
    }
    
    class Employer {
    
        String name;
        int salaryProposed;
    
        Employer (String name, int salaryProposed) {
            this.name = name;
            this.salaryProposed = salaryProposed;
        }
    
        @Override
        public String toString() {
            return "Employer{" +
                    "name='" + name + '\'' +
                    ", salaryProposed=" + salaryProposed +
                    '}';
        }
    }
    
    class Employee {
        String name;
        int salaryDesired;
    
        Employee (String n, int sD) {
            name = n;
            salaryDesired = sD;
        }
    
        @Override
        public String toString() {
            return "Employee{" +
                    "name='" + name + '\'' +
                    ", salaryDesired=" + salaryDesired +
                    '}';
        }
    }
    
    class SalaryService {
    
        public static String evaluate(int salaryProposed, int salaryDesired) {
            if (salaryProposed >= salaryDesired) {
                return "We can hire Vasya! :)";
            } else {
                return "We can't :(";
            }
        }
    
    }
    Ответ написан
    2 комментария
  • Как в Java отнять от числа, чтобы результат сохранился и от этого результата отнять следующее число?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    А как сделать так, чтобы одно общее значение (бак 1000 мл) после вычерпывания 100 мл, возвращал новое значение и следующая кружка отнималась бы уже от нового значения?

    Так вы переменной, которая содержит информацию о баке, внутри цикла после вычерпывания (вычитания) присваивайте новое значение и все

    Примерно как-то так:
    public class Main {
    
        public static void main(String[] args) {
    
            int volume = 1000;
    
            Scanner scanner = new Scanner(System.in);
            System.out.println(
                    "Объем бака равен - 1000 мл. \n" +
                            "Введите значение 100 мл. или 200 мл."
            );
            while (volume >= 0) {
                int input = scanner.nextInt();
    
                if(input > volume) {
                    System.out.println("В баке нет такого объема воды!");
                    continue;
                } else if(input == 100) {
                    volume -= input;
                    System.out.println("Остаток в баке: " + volume);
                } else if (input == 200) {
                    volume -= input;
                    System.out.println("Остаток в баке: " + volume);
                } else {
                    System.out.println("Вы ввели недействительное значение!");
                }
    
                if(volume == 0) {
                    System.out.println("Вода в баке закончилась");
                    break;
                }
    
            }
    
        }
    
    }


    В первой ветке if проверяем есть ли такой объем воды в баке
    Во второй и в третьей ветках мы соответственно, вычитаем нужный объем из общего объема бака
    В четвертой ветке мы выводим сообщение, если введено значение отличное от 100 или 200.
    Ну и в самом конце если объем меньше 0, то выходим из цикла.
    Ответ написан
    7 комментариев
  • Можно ли через Batch создать .txt файл, заполненный nul-байтами, размером 102400 B, и при вводе текста nul-байты обрезались/добавлялись до 102400 B?

    @rPman
    создать файл dd if=/dev/zero of=файл bs=102400 count=1
    редактировать файл - все зависит от того что это за редактирование, ведь можно просто открывать обычный текстовый редактор во временный файл а по закрытию дополнять нулями остаток тем же dd

    обычные текстовые редакторы в режиме замены могут нормально обрабатывать наличие в файле нулей, за исключением символов переводы на новую строчку, тут нужно проверять каждый в отдельности.
    Ответ написан
    2 комментария
  • Как создать несколько файлов с именами из списка?

    nowm
    @nowm
    Можно самому написать файл с расширением «bat», который будет читать исходный файл и создавать пустые файлы из списка. Его содержимое выглядит примерно так:

    FOR /F %%i in (wer.txt) do cd. > %%i
    Здесь «wer.txt» — это ваш текстовый документ-список. Желательно, чтобы в этом имени файла не было пробелов. Кавычки ставить не нужно, так как кавычки в этой конкретной ситуации подразумевают указание какой-то произвольной строки, а не имени файла.

    «cd .» удобно использовать в случае, если нужен пустой вывод; «echo» просто может неадекватно работать, если нужно сделать вывод именно пустой строки.

    Если нужно создавать файлы в какой-то подпапке, конструкцию «cd. > %%i» можно заменить на «cd. > foldername/%%i»

    Далее, запускаете этот батник и он генерирует файлы из списка. Будет лучше всего, если файл со списком и батник будут в одной папке находиться.

    И ещё, если в папке есть, например, файл 123.txt с каким-то содержимым и, при этом, в файле wer.txt (тот, который вы в качестве списка-донора используете) есть такое же название, вы после отработки батника получите файл 123.txt нулевого размера. Так что, аккуратнее с этим — не затрите ничего нужного. В идеале, это всё нужно делать в отдельной папке, где нет больше никаких файлов, кроме батника и донора.
    Ответ написан
    Комментировать
  • Как сделать импорт psd с векторными смарт объектами в After Effects?

    ttone
    @ttone
    Design / AE / Nuke
    Сохраняем из PS, каждый смарт объект отдельно в пдф.
    Открываем в AI. Раскидываем файл по слоям, сохраняем в AI и закидываем как сомпозицию в AE.
    Ответ написан
    Комментировать
  • Дизайнер интерфейсов с нуля. С чего начать и как двигаться?

    Chipr
    @Chipr
    UX/UI designer
    UX/UI – не sketch или figma. Это совокупность знаний из разных отраслей — технической, творческой + психология. Это большой объем знаний и умений.
    Учите html/css/js (базовые понятия), читайте все что возможно по типографике (это основной пункт для дизайнеров), колористике, композиции, читайте исследования по UX (их масса, есть большие труды, но в основном англоязычные, начните с Купера, как вариант). И в процессе всего этого практика, практика, практика. Потому что, к сожалению, без нее никуда. Вы будете круты настолько — сколько кейсов запилите. Успехов!
    Ответ написан
    Комментировать
  • Нужно ли мне отдавать заказчику шрифт?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    скорее всего речь идет о платных шрифтах.
    это должно обговариваться сразу же. т.е. ты сам должен спросить у заказчика о всех сторонних затратах. т.е. готов ли он тратиться на шрифты, на картинки, на музыку, на звуки и пр.
    если ответ нет - ты и не должен был использовать в проекте ничего платного из выше перечисленного.
    а раз ты уже сделал - ты должен предупредить заказчика о шрифте.
    Тут проблема даже не в том, что ты шрифт ему отдашь или нет - а в том, что у него потом могут быть проблемы из за коммерческого использования данного шрифта.
    Ответ написан
    3 комментария
  • Из чего складывается стоимость работы 2D аниматора на фрилансе?

    KeySVG
    @KeySVG
    аниматор svg / html5
    Я делю стоимость создания анимации на 2 части:
    • подготовка иллюстраций
    • непосредственно трудозатраты по анимации

    Фишка в том что у многих заказчиков атрафированное представление о работе дизайнеров в целом, и моушен-дизайнеров в частности. Многие считают что баннер наружной рекламы 3х6 метра должен стоит в несколько раз больше чем баннер 100х100 пикселей. Он же борльшой/маленький!!! Вот в анимации то же самое. Типовуха: "И это за 4 секунды?!?! Поимейте совесть!!!". Не понимают что трудозатраты на исходный материал (иллюстрированная графика) для ролика в 3 секунды и 60 в принципе сопоставима в цифрах по времени и деньгам. Поэтому правильным будет подход разделения затрат. Заказчику все прозрачно и понятно, вопросы как правило отпадают. Если хочет сэкономить на иллюстрации соглашается на более приземленный уровень или же наоборот (зачастую) увеличивает стоимость для лучшего результата. Хороший ап-сейл скажу я вам.
    P.S.: Для серьезных заказчиков + 3-й пункт: сценарий. В данном случае несерьезный запрос в стиле "мне точно такой же". Среди таких заказчиков тоже хорошие попадаются - согласны за свои бзики платить по повышенному тарифу, а дизайнеру не надо слишко парится над креативом.
    Ответ написан
    Комментировать
  • Как показать заказчику прототип сайта/приложения на Axure RP в интернете?

    Nekto_Habr
    @Nekto_Habr
    Чат дизайнеров: https://t.me/figma_life
    Ответ написан
    Комментировать