Ответы пользователя по тегу Java
  • Как закончить программу "Максимальное значение"?

    @Billy_Milligan
    У класса ArrayList нет поля length (Если бы это был массив int[], можно использовать length), для определения размера у List нужно использовать метод size().
    for([инициализация] ; [условие при котором мы продолжаем цикл] ; [шаг])
    Как это работает
    1. [инициализация] - выполняется самым первым и только 1 раз.
    2. [условие при котором мы продолжаем цикл] - проверяем условие
    3. (выполняем код внутри цикла)
    4. [шаг]
    5. [условие при котором мы продолжаем цикл] - проверяем условие
    6. (выполняем код внутри цикла)
    7. [шаг]
    8. ...


    Scanner input = new Scanner(System.in);
    ArrayList<Integer> array = new ArrayList<>();
    int max = 0;
    
    System.out.println("Введите числа");
    
    for(int number = input.nextInt() ; number != 0; number = input.nextInt()) {
         array.add(number);
    }
    
    for (int i = 0; i < array.size(); i++) {
          if (array.get(i) > max) {
               max = array.get(i);
          }
    }
    
    System.out.println("Это число: "+max);
    Ответ написан
    Комментировать
  • Как вытащить символы кроме запятой и цифр в Java?

    @Billy_Milligan
    var prices = new String[] {
        "100 ₽",
        "$4,99",
        "9,99 €",
        "100 CA$",
        "9,49 USD"
    };
    
    //Паттерн
    final var pattern = "[\\d\\s.,]+";
    
    var resultSet = Arrays.stream(prices)
            .map(price -> price.replaceFirst(pattern, ""))//Вырезаем все совпадения
            .collect(Collectors.toSet());//собираем в Set
    
    resultSet.forEach(System.out::println);
    Ответ написан
    Комментировать
  • Как передать значение из java в натив (c++)?

    @Billy_Milligan Автор вопроса
    Просто все переделал на int

    JNIEXPORT jint JNICALL Java_BlackLib_BlackSPI__1transfer(JNIEnv *env, jclass obj, jint writeBuffer, jint readBuffer, jint bufferSize, jint wait_us)
    {
        return spi->transfer((uint8_t*) & writeBuffer, (uint8_t*) & readBuffer, sizeof (readBuffer), 0);
    }
    Ответ написан
    Комментировать
  • Как правильно работать с фрагментами?

    @Billy_Milligan
    Правильно, у DrawerItemClickListener и ListView.OnItemClickListener нет getSupportFragmentManager().
    Как вариант можно сделать так:
    public class DrawerItemClickListener implements ListView.OnItemClickListener {
            FragmentTransaction transaction;
            FragmentManager manager;
            AbstractionFragment createMenuFragment;
            AbstractionFragment watchProgressFragment;
            AbstractionFragment settingMenuFragment;
    
            public DrawerItemClickListener(FragmentManager m) {
                manager = m;
                transaction = manager.beginTransaction();
                createMenuFragment = new CreateMenuFragment();
                watchProgressFragment = new WatchProgressFragment();
                settingMenuFragment = new SettingMenuFragment();
            }
    
        ...
        }

    Соответственно в onCreate()
    drawerList.setOnItemClickListener(new DrawerItemClickListener(getSupportFragmentManager()));

    Вопрос некорректен "Как правильно работать с фрагментами?", дело не в фрагментах. Вижу что только начали писать на java. Для того что бы понять что там у вас происходит, советую почитать про наследование и паттерн listener.
    Ответ написан
  • Как сохранить ArrayList в MySQL Java?

    @Billy_Milligan
    Если правильно, то одно поле для одного объекта. Обычно не засовывают в одно поле несколько id. Вам нужна 2 таблица с полями: id студента и id группы.

    table: student_group
    +-------------+-----------+
    |  student_id | group_id  |
    +-------------+-----------+
    |      1      |     4     |
    +-------------+-----------+
    |      1      |     5     |
    +-------------+-----------+
    |      1      |     10    |
    +-------------+-----------+
    |      1      |     99    |
    +-------------+-----------+
    |      2      |      8    |
    +-------------+-----------+
    |      2      |     30    |
    +-------------+-----------+
    Ответ написан
    2 комментария
  • UI в JAVA FX.На сколько уникальны библиотеки?

    @Billy_Milligan
    В javaFX можно использовать css, а вот с анимацией будет сложнее, смотрите в сторону Timeline Animation.
    Ответ написан
    Комментировать
  • Как удалить массив?

    @Billy_Milligan
    Это должен сделать сборщик мусора.
    А что бы помочь ему, можно сделать так:
    array = null;
    Ответ написан
  • Как указать дерикторию для загрузки файла?

    @Billy_Milligan
    А не вариант сохранять в ту же директорию где выполняется?

    Например:
    ./myFolder/myFile.png
    Ответ написан
    5 комментариев
  • Как перевести byte[] в String, а затем обратно в byte[]?

    @Billy_Milligan Автор вопроса
    Нашёл решение, может кому то пригодится.

    public Test () {
            String a = "";
            try {
                a = bytesToHex(mAES.encrypt("test"));
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            try {
                a = mAES.decrypt(hexToBytes(a));
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
    public static String bytesToHex(byte[] data) {
            if (data==null)
            {
                return null;
            }
    
            int len = data.length;
            String str = "";
            for (int i=0; i<len; i++) {
                if ((data[i]&0xFF)<16)
                    str = str + "0" + java.lang.Integer.toHexString(data[i]&0xFF);
                else
                    str = str + java.lang.Integer.toHexString(data[i]&0xFF);
            }
            return str;
        }
    
    
        public static byte[] hexToBytes(String str) {
            if (str==null) {
                return null;
            } else if (str.length() < 2) {
                return null;
            } else {
                int len = str.length() / 2;
                byte[] buffer = new byte[len];
                for (int i=0; i<len; i++) {
                    buffer[i] = (byte) Integer.parseInt(str.substring(i*2,i*2+2),16);
                }
                return buffer;
            }
        }
    Ответ написан
    Комментировать
  • Как исправить ошибку при расшифровке AES?

    @Billy_Milligan Автор вопроса
    Ошибка из-за OpenSSL начиная с android 4.2 и выше.

    Проблема решается так.
    SecureRandom sr = SecureRandom.getInstance("SHA1PRNG", "Crypto");
    Ответ написан
    Комментировать