Задать вопрос
Ответы пользователя по тегу Java
  • Что лучше для разработки игр под Android?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    C# - Unity, может быть есть еще другие...
    Java - libGDX, jmonkey, LWJGL
    Ответ написан
    3 комментария
  • Как работать с USB в java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Вот, тут аналогичный вопрос - https://stackoverflow.com/questions/2121508/how-to...
    А вот, одна из библиотек: usb4java.org
    Ответ написан
  • Почему выводит ошибку 500 на сервере?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Timed out waiting for driver server to start.
    У вас драйвер не стартовал и произошел тайм-аут. Проверьте пути к chromedriver для начала
    Ответ написан
  • Почему не работает код?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Нюансы могут быть разные...
    1) метод main располагается не в публичном классе
    class BankAccountTest {
        public static void main(String[] args) {}
    }

    2)
    Error: Main method not found in class Lesson4.BankAccount, please define the main method as:
    public static void main(String[] args)
    or a JavaFX application class must extend javafx.application.Application

    Если это JavaFX приложение, то тут важна версия Java. Если память не изменяет, то JavaFX с версии 11 стала отдельной модулью и ее нужно дополнительно подключать.
    3) Если вы работаете в IDEA и при создании выбираете Create jar with dependencies, то в некоторых версиях она срабатывает некорректно и не создает манифестный файл.
    Ответ написан
    Комментировать
  • Изучил java, куда дальше пойти?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Для начала узнайте куда тянет вас...
    Сферы связанные с java:
    - Enterprise - фреймворки Spring, Akka, Play и др. Изучить Java EE (Jakarta EE), Hibernate, JPA и т.д.
    - Android разработка
    Ну есть еще сферы J2ME & Desktop. Но они менее распространены.
    Ответ написан
    Комментировать
  • Почему при удалении строки в Spring Boot с помощью JPA выводит ошибку?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    То что вы видите 403 ошибку (Forbidden) особо ни о чем не говорит.
    1) Если у вас подключен Spring Security, то проверьте может ли пользователь совершить нужный вам запрос. @PreAuthorize("hasAuthority('ADMIN')") Пользователь должен быть админом
    2) Проверьте правильно ли вы обрабатываете post || get запрос.
    3) В этом участке кода тоже ошибка. Вы сперва удаляете admrem, а потом пытаетесь сохранить удаленный admrem.
    for (AdminProductions admrem : rmadm){
                adminProductRepo.deleteById(admrem.getId());
                adminProductRepo.save(admrem);
            }


    Скорее всего это лишнее
    adminProductRepo.save(admrem);

    4) Тут тоже может быть проблема. Например, в camelCase.
    deleteByAdminproductname()
    Потому, что у вас сущность называется AdminProduct и поле name
    А структура запроса у вас:
    Adminproductname
    Тоже что-то не так...

    Ну в конце концов, поставьте точки остановки, включите дебаг и посмотрите какая ошибка прибегает на сервер. Может быть у вас запрос даже не доходит до контроллера из-за ошибки в Spring Security
    Ответ написан
    3 комментария
  • Литература для Android-разработки на Java, что посоветуете?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Для начала посоветовал бы изучить основы языка Java, а также Kotlin. С учетом вашей направленности рекомендую после изучения Java, сделать упор на Kotlin.
    Далее можете прочитать эту книгу:
    https://www.ozon.ru/context/detail/id/135330880/
    Ну и обязательно прочитайте докуметацию на оф. сайте
    Ответ написан
    Комментировать
  • Как создать таблицу в Hibernate без уникального Id?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Если я вас правильно понимаю, то вы собираетесь в таблице хранить некоторые данные, у которых id не является уникальным значением. Вы можете в любом случае у себя завести уник. id добавив аннотацию @Id
    А неуникальный id вы можете сохранить в качестве другого поля. Например, nativeId

    Можно ли сделать Id не уникальное значение?

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

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Первый вариант - подключить datatables.
    Он поддерживает следующие виды пагинации:
    1) пагинация на клиенте, когда он отдаст вам 1500 строк, но раскидает по страницам (например, по 100 элементов)
    2) пагинация серверная, когда он отправляет запрос на сервер и достает соответствующую страницу.
    https://datatables.net/

    Другое решение - енапример, сли у вас spring приложение, то там есть объект Pageable.
    https://www.baeldung.com/spring-data-jpa-paginatio...
    https://www.petrikainulainen.net/programming/sprin...
    Ответ написан
    1 комментарий
  • Как вывести строку в нужном формате?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    У вас проблема в методе repeatChar()

    Если сам алгоритм реализован правильно, то вам нужно просто вернуть строку
    public static String repeatChar (String s) {
        StringBuilder repeat = new StringBuilder();
        for(int i = 0; i < s.length(); i++){
            for(int j = -1; j < s.indexOf(s.charAt(i)); j++){
                repeat.append(s.charAt(i));
            }
        }
        return repeat.toString();
    }


    А то получается. что вы принимаете аргумент s и возвращаете тот же аргумент, вместо StringBuilder repeat
    Ответ написан
    Комментировать
  • Решила задачу по 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 комментария
  • Как спарсить расписание minsktrans?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Не уловил связь между языком Java и библиотекой, которая написана на JavaScript.
    Вам скорее нужен js, а не Java
    Ответ написан
    Комментировать
  • Стоит ли изучать JDBC?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Да, однозначно стоит. Можете также взять и написать пару пет-проектов с использованием jdbc + mysql, postgres и т.д.
    Также вдобавок будет очень полезным, если вы изучите такие технологии, как Hibernate (ORM), EclipseLink
    Ответ написан
    Комментировать
  • Как реализовать частичную загрузку JPA сущности?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Я пока изучаю Hibernate, но что если это сделать используя проекции?
    https://www.baeldung.com/spring-data-jpa-projections
    However, more often than not, we don't need all the properties of the returned objects
    Ответ написан
    Комментировать
  • Не добавляются данные в таблицу при нажатии на input (java). Как это исправить?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    <tr form th:action="@{/}"
                th:object="${addUser}" method="POST">
                <td><input/></td>
                <td><input type="text" th:field="*{lastName}" /></td>
                <td><input type="text" th:field="*{firstName}" /></td>
                <td><input type="text" th:field="*{email}" /></td>
                <td><input type="text" th:field="*{number}" /></td>
                <input type="submit" value="add" />
                </form>

    Ну для начала посмотрите на этот кусок кода. У вас там что-то неладное. тег form вложен в тег tr
    <tr form th:action="@{/}"
    Ответ написан
  • Как установить javaFX на Kubuntu 18.04 и добавить её в IDEA?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Если мне память не изменяет, то начиная с Java 11, JavaFX предоставляется как отдельный модуль.
    Вот, оф. сайт OpenJFX - https://openjfx.io/
    там же вы найдете информацию по добавлению модуля в ваш проект.
    Мне нужно установить JAVAFX на Kubuntu 18.04

    ничего никуда не устанавливается. Скачали модуль и добавили в IDEA.
    Обратите внимание, что нужно использовать правильную версию. Например, openjfx 11 для java 11 версии и т.д.

    Возможно, что вы хотите на linux установить Scene Builder для создания GUI
    А скачать его можно отсюда - https://gluonhq.com/products/scene-builder/
    Ответ написан
    1 комментарий
  • Как работает данное выражение на языке java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Как вам уже ответили тут нужно знание основ арифметики и логики. Что касается программирования, то обратите внимание на приоритеты операторов. Например, выражение заключенное в скобки имеет больший приоритет, также как и в математике
    2 * (2 + 2) = 8
    2 * 2 + 2 = 6

    Эти же правила распространяются и на программирование.
    Ответ написан
    Комментировать
  • Как решить ошибку отладки Java в Intellij IDEA?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Ответ на ваш вопрос легко ищется поисковиком.
    Вот, решение:
    https://stackoverflow.com/questions/54205486/how-t...
    Ответ написан
    Комментировать
  • JAVA, можете ли вы объяснить странное для меня for(: );?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Noodle noodle : allTheNoodles
    Условно можно прочитать как: переменная noodle в массиве объектов Noodle[].
    Это тип цикла for each, где итерируя вы получаете каждый объект содержащийся в массиве Noodle[]
    А чтобы обратиться к соответствующему объекту в цикле вы можете использовать переменную noodle. Т.е. в каждой итерации этой переменной будет присвоен следующий объект содержащийся в массиве
    Ответ написан
    Комментировать
  • Как сделать маску для загружаемого файла в java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Если код отработать должен в браузере, то вам нужно валидировать средствами html или js.
    Если нужна валидация средствами html, то для инпута есть атрибут accept
    htmlbook.ru/html/input/accept
    принимать только изображения: <input type="file" name="img" accept="image/*">
    Если у вас подключена js либа для загрузки файлов (например, dropzone какой-нибудь), то читайте документацию этой либы и там будет написано, как ограничить по mime-типу.

    Но если вам нужна серверная валидация, то это уже другое...
    Вы можете подключить либу Apache Common Utils
    https://commons.apache.org/proper/commons-io/
    А далее проверять MIME-тип файла и если он не соответствует нужному типу, то возвращать клиенту какое-нибудь сообщение, что тип файла некорректен
    Ответ написан
    Комментировать