1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Как узнать, написал игрок слово, или число?

Тема в разделе "Разработка плагинов для новичков", создана пользователем YoungHefner_, 7 май 2020.

Статус темы:
Закрыта.
  1. Автор темы
    YoungHefner_

    YoungHefner_ Ньюби Пользователь

    Баллы:
    1
    Имя в Minecraft:
    golyb_
    Мне нужно чтобы когда игрок написал число, код срабатывал, а когда слово, то нет.

    Вот так вот я
    String перевожу в int:
    Код:
    Integer i1 = new Integer(args[1]);
    Но если аргумент не равен числу(а слову), то в чате выскакивает ошибка:

    An internal error occurred while attempting to perform this command

    Как её убрать?
     
  2. AgentJhonny

    AgentJhonny Активный участник Пользователь

    Баллы:
    66
    Integer.parseInt(string), ловишь NumberFormatException если не число.
     
  3. Автор темы
    YoungHefner_

    YoungHefner_ Ньюби Пользователь

    Баллы:
    1
    Имя в Minecraft:
    golyb_
    всё равно ругается
     
  4. Phizzle

    Phizzle Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Phizzle
    PHP:
    boolean b NumberUtils.isDigits(args[0]);
            if (
    b) {
                
    p.sendMessage("Ты написал число!");
            }
     
  5. Автор темы
    YoungHefner_

    YoungHefner_ Ньюби Пользователь

    Баллы:
    1
    Имя в Minecraft:
    golyb_
    и как я должен это использовать, если у меня не получится потом сравнить это с getAmount() и т.п
     
  6. Gru2303

    Gru2303 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Gru2303
    PHP:
    public static boolean isNumber(String value) {
            try {
                
    Long.parseLong(value);
            } catch(
    NumberFormatException ignored) {
                return 
    false;
            }
           
            return 
    true;
    }
     
  7. Автор темы
    YoungHefner_

    YoungHefner_ Ньюби Пользователь

    Баллы:
    1
    Имя в Minecraft:
    golyb_
    не силён в программировании, но как я должен это использовать?
     
  8. Lemar98

    Lemar98 Активный участник Пользователь

    Баллы:
    76
    тру - число
    фолс - не число
     
  9. Exception_Prototype

    Exception_Prototype Активный участник Пользователь

    Баллы:
    96
    У тебя в args[1] - СТРОКА, которая в случае неправильного ввода, при преобразовании в целочисленное число выдаст ошибку.

    Чтобы превратить СТРОКУ в ЦЕЛОЧИСЛЕННОЕ ЧИСЛО, нужно сделать следующие:

    PHP:
    public static Integer parse(String value) {
            try {
                
    retrurn Integer.parseInt(value);
            } catch(
    NumberFormatException ignored) {
                return 
    null;
            }
    }

    Integer value parse(args[1]);

    if (
    value != null) {
         
    //сравнивай свой getAmount()
    } else {
        
    //скажи игроку что он написал херню вместо нормального числа
    }
     
  10. Автор темы
    YoungHefner_

    YoungHefner_ Ньюби Пользователь

    Баллы:
    1
    Имя в Minecraft:
    golyb_
    Спасибо!!!
    Закрыто
     
Статус темы:
Закрыта.

Поделиться этой страницей