Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / как проверить строку на соответствие шаблону / 5 сообщений из 5, страница 1 из 1
28.04.2013, 15:27:48
    #38243047
antonm1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как проверить строку на соответствие шаблону
Добрый день! Пользователь вводит строку в формате DD.MM.YYYY. Как мне проверить что он ввел именно дату? Это делается с помощью scanner, или Formatter(%te.%tm.%tY) а может еще как?
...
Рейтинг: 0 / 0
28.04.2013, 16:10:08
    #38243081
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как проверить строку на соответствие шаблону
antonm1,

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public static void main(String[] args) throws Exception {
    java.util.Scanner scan = new java.util.Scanner(System.in);
    while (true) {
    System.out.print("Введите дату (ДД.ММ.ГГГГ): ");
        try {
            java.util.Date date = new java.text.SimpleDateFormat("dd.MM.yyyy").parse(scan.next());
            System.out.println(date);
        } catch (java.text.ParseException ex) {
            System.err.println("Ошибка. Неправильная дата");
            continue;
        }
        break;
    }
}
...
Рейтинг: 0 / 0
28.04.2013, 23:49:52
    #38243322
rema174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как проверить строку на соответствие шаблону
Usman,
а если так 01.01.201a ?
...
Рейтинг: 0 / 0
29.04.2013, 02:12:29
    #38243379
ozzmosis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как проверить строку на соответствие шаблону
кхм-кхм... компиляция и запуск этого кода:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
class GetDate {
public static void main(String[] args) throws Exception {
    java.util.Scanner scan = new java.util.Scanner(System.in);
    while (true) {
    System.out.print("Введите дату (ДД.ММ.ГГГГ): ");
        try {
            java.util.Date date = new java.text.SimpleDateFormat("dd.MM.yyyy").parse(scan.next());
            System.out.println(date);
        } catch (java.text.ParseException ex) {
            System.err.println("Ошибка. Неправильная дата");
            continue;
        }
        break;
    }
}
}

- приводит вот к такому безобразию:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
D:\JAVA\1Probe>java GetDate
Введите дату (ДД.ММ.ГГГГ): 29.02.2013
Fri Mar 01 00:00:00 MSK 2013

D:\JAVA\1Probe>java GetDate
Введите дату (ДД.ММ.ГГГГ): 30.02.2013
Sat Mar 02 00:00:00 MSK 2013

D:\JAVA\1Probe>java GetDate
Введите дату (ДД.ММ.ГГГГ): 30.25.2013
Fri Jan 30 00:00:00 MSK 2015

D:\JAVA\1Probe>java GetDate
Введите дату (ДД.ММ.ГГГГ): 39.67.2013
Wed Aug 08 00:00:00 MSK 2018

D:\JAVA\1Probe>java -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b05)
Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing)

...
Рейтинг: 0 / 0
29.04.2013, 03:40:24
    #38243392
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как проверить строку на соответствие шаблону
ozzmosisприводит вот к такому безобразиюЭто ф строенная защита от дурака и авто корректировка неверно введенной даты.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / как проверить строку на соответствие шаблону / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]