powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / как проверить строку на соответствие шаблону
5 сообщений из 5, страница 1 из 1
как проверить строку на соответствие шаблону
    #38243047
antonm1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день! Пользователь вводит строку в формате DD.MM.YYYY. Как мне проверить что он ввел именно дату? Это делается с помощью scanner, или Formatter(%te.%tm.%tY) а может еще как?
...
Рейтинг: 0 / 0
как проверить строку на соответствие шаблону
    #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
как проверить строку на соответствие шаблону
    #38243322
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Usman,
а если так 01.01.201a ?
...
Рейтинг: 0 / 0
как проверить строку на соответствие шаблону
    #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
как проверить строку на соответствие шаблону
    #38243392
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ozzmosisприводит вот к такому безобразиюЭто ф строенная защита от дурака и авто корректировка неверно введенной даты.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / как проверить строку на соответствие шаблону
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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