Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Пример 1: вывод текущей даты и времени, високосный год




Пример 1: вывод текущей даты и времени, високосный год

import java. util. *; public class Test { public static void main(String args[]) { String months[] = {" Янв", " Фев", " Мар", " Апр", " Май", " Июн", " Июл", " Авг", " Сен",          " Окт", " Ноя", " Дек" };       int year; // Создание григорианского календаря инициализированного // текущей датой и временем в // локализации и часовом поясе по умолчанию.       GregorianCalendar gcalendar = new GregorianCalendar();       // Вывод реального времени и даты System. out. print(" Дата: " ); System. out. print(months[gcalendar. get(Calendar. MONTH)]); System. out. print(" " + gcalendar. get(Calendar. DATE) + " " ); System. out. println(year = gcalendar. get(Calendar. YEAR)); System. out. print(" Время: " ); System. out. print(gcalendar. get(Calendar. HOUR) + ": " ); System. out. print(gcalendar. get(Calendar. MINUTE) + ": " ); System. out. println(gcalendar. get(Calendar. SECOND)); // Тест если текущий год является високосным if(gcalendar. isLeapYear(year)) {    System. out. println(year + " - високосный год" ); }else {    System. out. println(year + " - не високосный год" ); } }}

Получим следующий результат:

Дата: Ноя 13 2016Время: 2: 31: 182016 - високосный год

Для изучения полного списка констант в классе календаря обратитесь к стандартной документации Java.

Пример 2: получить день недели по дате

import java. util. *; public class Test { public static void main(String args[]) {    String date = " 17. 11. 2016";          // Переводим строку в дату       SimpleDateFormat format = new SimpleDateFormat(" dd. MM. yyyy" ); Date dayWeek = null; try {     dayWeek = format. parse(date); } catch (Exception e) {       e. printStackTrace(); }       // Вывод дня недели даты на экран System. out. println(new SimpleDateFormat(" EEEE" ). format(dayWeek)); }}

Получим следующий результат:

четверг

 

17. Java — Регулярные выражения

Пакет java. util. regex предоставляется Java с целью сопоставления регулярных выражений с шаблоном. Регулярные выражения Java характеризуются существенным сходством с языком программирования Perl и очень просты в освоении.

В Java регулярные выражения представляют собой особую последовательность символов, позволяющую вам сопоставить или выявить другие строки либо их набор, опираясь на специализированный синтаксис в качестве шаблона. Они могут быть использованы для поиска, редактирования либо манипулирования текстом и данными.

Пакет java. util. regex исходно состоит из следующих трех классов:

· Pattern Class – объект класса Pattern представляет скомпилированное представление регулярного выражения. В классе Pattern публичный конструктор не предусмотрен. Для создания шаблона, вам сперва необходимо вызвать один из представленных публичных статичных методов compile(), который далее произведет возврат объекта класса Pattern. Регулярное выражение в данных методах принимается как первый аргумент.

· Matcher Class – объект класса Matcher представляет механизм, который интерпретирует шаблон, а также производит операции сопоставления с вводимой строкой. Аналогично классу Pattern, Matcher не содержит публичных конструкторов. Объект класса Matcher может быть получен путем вызова метода matcher() на объекте класса Pattern.

· PatternSyntaxException – объект класса PatternSyntaxException представляет непроверяемое исключение, которое обозначает синтаксическую ошибку в шаблоне регулярного выражения.

Группы сбора

Группы сбора представляют способ обращения с несколькими символами как с одной единицей. Они создаются путем размещения символов, которые предстоит сгруппировать, в серии круглых скобок. К примеру, регулярное выражение (dog) составляет отдельную группу, содержащую буквы " d", " o", и " g".

Группы сбора нумеруются посредством определения числа открывающих круглых скобок слева направо. Так, в выражении ((A)(B(C))) присутствуют четыре подобные группы:

· ((A)(B(C)))

· (A)

· (B(C))

· (C)

Для определения числа групп, представленных в выражении, вызвать метод groupCount на объекте класса matcher в Java. Метод groupCount извлекает число типа int, отображающее количество групп сбора, представленных в сопоставляемом шаблоне.

Также имеется специальная группа, группа 0, которая во всех случаях представляет выражение в полном виде. Данная группа не включается в сумму, представленную методом groupCount.

Пример

Ниже рассмотрен пример регулярного выражения в Java, иллюстрирующий способ выявления строки цифр в представленных буквенно-цифровых строках.

import java. util. regex. Matcher; import java. util. regex. Pattern; public class RegexMatches { public static void main( String args[] ) { // Строка для сканирования, чтобы найти шаблон String str = " Крещение Руси произошло в 988 году! Не так ли? "; String pattern = " (. *)(\\d+)(. *)"; // Создание Pattern объекта Pattern r = Pattern. compile(pattern); // Создание matcher объекта Matcher m = r. matcher(str); if (m. find( )) {    System. out. println(" Найдено значение: " + m. group(0));     System. out. println(" Найдено значение: " + m. group(1));     System. out. println(" Найдено значение: " + m. group(2)); }else {    System. out. println(" НЕ СОВПАДАЕТ" ); } }}

В итоге будет получен следующий результат:

Найдено значение: Крещение Руси произошло в 988 году! Не так ли? Найдено значение: Крещение Руси произошло в 98Найдено значение: 8
Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...