Помогите Как проверить ник на наличие букв

  • Автор темы Автор темы KomapuK
  • Дата начала Дата начала

KomapuK

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
KOMAP
В общем, через событие PlayerJoinEvent нужно проверить, есть ли в нике игрока хоть одна буква алфавита, конечно же Английского. Если нет - то выводить ему определенное сообщение, если же имеется - выдавать 10 алмазов
 
В общем, через событие PlayerJoinEvent нужно проверить, есть ли в нике игрока хоть одна буква алфавита, конечно же Английского. Если нет - то выводить ему определенное сообщение, если же имеется - выдавать 10 алмазов
Код:
if(string.contains("буква")) doSomething();
 
И мне так каждую букву алфавита юзать?)
Я поэтому и пишу, нужен какой-то более быстрый способ
Создай финальный массив или список, где будешь хранить все буквы и проверяй этим методом
 
Довольно странная задача, но решить можно перебором символов строки.
PHP:
public static boolean containsEnglish(final String str) {
    for (int i = 0; i < str.length(); i++) {
        char ch = str.charAt(i);
        if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
            return true;
        }
    }
    return false;
}
 
Последнее редактирование:
Довольно странная задача, но решить можно перебором символов строки.
PHP:
public static boolean containsEnglish(final String str) {
    for (int i = 0; i < str.length(); i++) {
        char ch = str.charAt(i);
        if (('a' >= ch && ch <= 'z') || ('A' >= ch && ch <= 'Z')) {
            return true;
        }
    }
    return false;
}

А как использовать это в событии?
(!p.getName().contains(?)) {}
 
А тут я уже советую начать учить основы Java, ибо это абсолютно базовый вопрос. containsEnglish(p.getName()).
Да, только не работает почему-то)
PHP:
if(this.containsEnglish(p.getName())) {
            p.sendMessage("&cON");
        }
При заходе на сервер под ником 3453456 - выводит сообщение, и при заходе под ником Dimon - так же выводит
Но если сделать вот так:
PHP:
if(!this.containsEnglish(p.getName())) {
            p.sendMessage("&cON");
        }
То выводить ни под первым, ни под вторым ничего не будет ;c
 
Да, только не работает почему-то)
PHP:
if(this.containsEnglish(p.getName())) {
            p.sendMessage("&cON");
        }
При заходе на сервер под ником 3453456 - выводит сообщение, и при заходе под ником Dimon - так же выводит
Но если сделать вот так:
PHP:
if(!this.containsEnglish(p.getName())) {
            p.sendMessage("&cON");
        }
То выводить ни под первым, ни под вторым ничего не будет ;c
Звиняюсь, попутал местами проверки. Исправил тот ответ.
 
Назад
Верх