Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2010, 04:40   #1
neme4ta
 
Регистрация: 23.03.2010
Сообщений: 5
По умолчанию Анализ введённой строки на наличие цифр

Как можно сравнить каждую букву в введённой пользователем строки симвлов на наличие цифр? Допустим переменная со строкой - str . Я задам цикл:
for (int i = 0; i < str.length(); i++) {
if ( str.charAt(i) == ? ) // сравниваю каждый символ с: с чем сравнивать?
...
}

'1' || '2' || и т.д. не подходит. Использовать equals? Но как?
neme4ta вне форума Ответить с цитированием
Старый 09.06.2010, 05:08   #2
alexinspir
Новичок
Джуниор
 
Аватар для alexinspir
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

примерно так
Код:
if(!str.matches("^\\D*$")){
//содержит
}else{
//не содержит
}
код не тестил.
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.
alexinspir вне форума Ответить с цитированием
Старый 09.06.2010, 05:38   #3
neme4ta
 
Регистрация: 23.03.2010
Сообщений: 5
По умолчанию

Цитата:
Сообщение от alexinspir Посмотреть сообщение
примерно так
Код:
if(!str.matches("^\\D*$")){
//содержит
}else{
//не содержит
}
код не тестил.
Не совсем поняла принцип.
если (НЕ строка.что такое matches? ("не содержит ^\\d*$"))
Тоесть если строка не содержит символов указанных в скобках, то это цифра? Слишком станно, что бы быть правдой.
neme4ta вне форума Ответить с цитированием
Старый 09.06.2010, 12:54   #4
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

"^\\D*$" - это регулярное выражение
функция matches проверяет введенную строку на совпадение с шаблоном, коим является регулярное выражение
строка
Код:
!str.matches("^\\D*$")
это по сути - введенная строка не совпадает с шаблоном
Почитайте в интернете про регулярные выражения и все поймете.
MaTBeu вне форума Ответить с цитированием
Старый 10.06.2010, 00:08   #5
alexinspir
Новичок
Джуниор
 
Аватар для alexinspir
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

Цитата:
Сообщение от neme4ta Посмотреть сообщение
Не совсем поняла принцип.
если (НЕ строка.что такое matches? ("не содержит ^\\d*$"))
Тоесть если строка не содержит символов указанных в скобках, то это цифра? Слишком станно, что бы быть правдой.
Код:
str.matches("^\\D*$")
str состоит НЕ из цифр, также допуская что строка может быть пустой.
Код:
!str.matches("^\\D*$")
тут просто оборачиваем boolean значение.

Для большей информации можете почитать тут:
http://java.sun.com/javase/6/docs/ap...x/Pattern.html



Учитывая поставленный вопрос, данное решение является самым элегантным, хотя возможны другие выражения, менее элегантные, например str.matches("^[^0-9]*$").
данное выражение проверяет только отсутствие цифр.
если же вам нужно чтобы были только буквы(без пробелов), тогда самым элегантным решением будет:
str.matches("^\\w*$") или str.matches("^\\w+$"). второй вариант будет false для пустых строк.
с пробелами, переходами на новую строку и прочими whitespace:
str.matches("^[\\w\\s]*$") или str.matches("^[\\w\\s]+$"), соответственно.
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.

Последний раз редактировалось alexinspir; 10.06.2010 в 00:15.
alexinspir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка на наличие файла Demetrius Помощь студентам 12 28.07.2009 00:27
Натуральное число, в записи которого п цифр, называется числом Армстронга, если сумма его цифр, возведенн OTLi4HO Общие вопросы C/C++ 6 14.01.2009 19:48
анализ и преобразование текста строки Черная тень Паскаль, Turbo Pascal, PascalABC.NET 6 10.01.2009 17:33
Анализ строки(Delphi) Cannibal Помощь студентам 2 27.11.2008 14:17