Лекции (989962), страница 55

Файл №989962 Лекции (Лекции) 55 страницаЛекции (989962) страница 552015-08-20СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 55)

Угол задается в радианах.double chislo17 = Math.tan ( 3.14 ); /* Тангенс. Существуют также методы asin(), acos(), atan(), означающиеарккосинус, арксинус и арктангенс, соответственно. */}}Для генерации случайных чисел можно воспользоваться и классом Random из пакета java.util. Пример:import java.util.Randomclass primer {public static void main(String args[ ] ) { // Запуск программыRandom generator1 = new Random (12345 ); /* Инициализирует генератор случайных чисел числом 12345.Если повторно проинициализировать генератор этим числом, то будетполучена такая же последовательность случайных чисел. Если незадать число, то для инициализации выберется значение системноготаймера (в миллисекундах, прошедших от 01.01.1970 г.)*/int chislo1 = generator1.nextInt ( ); // 32-разрядное случайное число типа intlong chislo2 = generator1.nextLong ( ); // 64-разрядное случайное число типа longfloat chislo3 = generator1.nextFloat ( ); // случайное число типа float в диапазоне от 0 до 1double chislo4 = generator1.nextDouble ( ); // случайное число типа double в диапазоне от 0 до 1double chislo5 = generator1.nextGaussian ( ); /* Случайное число нормального распределения.

Среднеезначение =0, стандартное отклонение = 1 */}}Дата и время:Для работы со значениями даты и времени можно воспользоваться следующими конструкциями:import java.util.Date // почти все функции работы с датой и временем находятся в этом классеclass primer {public static void main(String args[ ] ) { // Запуск программыlong timer1 = System.currentTimeMillis( ); //Число миллисекунд, прошедших с 01.01.1970Date timer2 = new Date ();// Создание объекта "дата"int vremya1 = timer2.getYear();// Получить число лет, прошедших с 1900 г, т.е. для 2001 = 101int vremya2 = timer2.getMonth();// Получить текущий месяц.

Январь = 0, Февраль = 1 и т.д.int vremya3 = timer2.getDate();// Получить текущую датуint vremya4 = timer2.getHours();// Получить часыint vremya5 = timer2.getMinutes();// Получить минутыint vremya6 = timer2.getSeconds();// Получить секундыint vremya7 = timer2.getDay();// Получить день недели: 0-воскресенье, 1-понедельник и т.д.// Если менеджер безопасности разрешит вам эти операции, то вы сможете модифицировать дату и время:timer2.setYear(102); // Установить 2002 годtimer2.setMonth(11); // Установить 12-й месяцtimer2.setDate(20);timer2.setHours(23);timer2.setMinutes(5);timer2.setSeconds(10); Ляхевич А.Г., 2000 - 2002 год}}Работа со строками:Работа со строками в Java реализована не достаточно удобно. Строки в Java фактически представляют собойстроковые константы: после объявления строки ее содержимое нельзя изменять.

Для изменения самойстроки нужно создать объект StringBuffer, которому можно присвоить значение строки, а потом егомодифицировать. Затем можно создать новую строку, равную значению объекта StringBuffer. Пример:ПрограммаКомментарииString stroka="Это";// Или более строго: String stroka =new String("Это");StringBuffer karman =new StringBuffer (stroka); // Создание буфера с именем karmankarman.insert(0, 'а') ;// Вставка "а" в 1 позицию строки (индексация - с нуля)karman.append ( '!' ) ;// Добавление "!" к строкеkarman.setCharAt (2, 'а');// Замена третьего символа на "а"stroka=new String (karman);// Присваивание нового значения строке.Единственное исключение из такой неудобной процедуры - можно складывать строки, например:String komy = "вам" ;String summa = "Привет "+komy+"братья" ;Над строками можно выполнять некоторые функции, в результате которых создаются новые измененныестроки (примеры см.

ниже). Переносить часть строки на новую строчку нельзя. В тексте строки нельзяиспользовать двойные или одинарные кавычки и косую черту "\". Если же необходимо этими символамивсе-таки воспользоваться, то применяют управляющие текстовые и восьмеричные константы:Константа ЗначениеКонстанта Значение\nперевод строки\\\u005c обратная косая черта\fперевод формата\007\u0007 звонок\rвозврат каретки\101\u0041 буква"А"\"\u0022 двойная кавычка\071\u0039 цифра "9"\'\u0027 одиночная кавычкаПример:String primer = "На разных \n строках и \" в кавычках \" буква \110, со звонком \007"Строки – это объекты, поэтому сравнивать строки при помощи простой операции равенства нельзя, т.к.

приэтом сравниваются не содержимое строк, а их объекты (которые будут разными, даже если содержимоестрок одинаково). Для сравнения строк надо пользоваться специальными методами.Пример:String stroka1 = “Это строка”;// создание объекта stroka1String stroka2 = “Это строка”;// создание объекта stroka2if (stroka1==stroka2) {/* операторы */} // условие не выполнится, т.к.

stroka1и stroka2 – это 2 разных объектаif ( stroka1.equals(stroka2) ) {/*операторы*/ } // а вот так сравнивать строки правильно (метод equals)boolean otvet = stroka.equalsIgnoreCase (stroka2); // сравнение без учета регистра.Для поиска слова в словаре можно воспользоваться методом compareTo ( ), который возвращает:0 - строки равны, число >0 – строка больше сравниваемой, число <0 – строка меньше сравниваемой.Пример:String slovo = “Сергей”;// создание объекта slovoint otvet1 = slovo.compareTo('Сам');// результат: otvet1>0int otvet2 = slovo.compareTo('Сеялка'); /* результат: otvet2<0 - значит слово "Сергей" находится по алфавитумежду словами "Сам " и "Сеялка".

*/Над строками можно выполнять и другие операции. Ниже приведены примеры некоторых функций дляработы со строками:String stroka = “Это строка”; // создание строки strokaboolean otvet = stroka.startsWith(‘Это’); /* переменная otvet будет true (истина), если строка начинается сослова “Это”, регистр учитывается */boolean otvet = stroka.endsWith(‘строка); /* переменная ответ будет true (истина), если строка кончаетсясловом “строка”, регистр учитывается */int otvet = stroka.indexOf('о'); // переменная otvet будет содержать номер позиции первой буквы "о" в строкеint otvet = stroka.indexOf('о',otvet+1); /* после того, как в предыдущем примере будет найдена первая буква"о", в этом примере поиск следующей буквы "о" в строке будетпродолжен, начиная со следующей после "o" позиции.

Так можнонайти все буквы "о", продолжая поиск до тех пор, пока otvet != 0*/ Ляхевич А.Г., 2000 - 2002 годint otvet = stroka.lastIndexOf('о'); // тоже самое, что и indexOf('о'), но поиск начинается с конца строкиint otvet = stroka.lastIndexOf('о', otvet-1 ); // аналогично примеру вышеint otvet = stroka.indexOf('Это'); /* можно определять позицию не только отдельного символа, но иподстроки */char bukva = stroka.charAt (3); /* в переменную bukva будет помещен 4-й символ строки (индекс первогосимвола строки = 0) */char massiv [ ] = new char [20]; // создается массив из 20-ти символовstroka.getChars(5,10,massiv, 2); /* строка с 6 по 11 символ, посимвольно помещается в массив, начиная с 3-ейпозиции в массиве.

Существует аналогичный метод getBytes ( ). */String stroka2 = new String ( massiv [ ], 3, 2); /* создается новая строка длиной 2 символа, значения для строкиберутся, начиная с 4-ой позиции в массиве */String stroka2 = stroka.subString(4); /* выделение подстроки из строки "stroka", начиная с 5-ой позиции и доконца строки */String stroka2 = stroka.subString(4 ); /* выделение подстроки из строки "stroka", начиная с 5-ой позиции и доконца строки */String stroka2 = stroka.subString(4, 9 ); /* выделение подстроки из строки "stroka", начиная с 5-ой изаканчивая 10-ой позицией строки */String stroka2 = stroka.replace('о', 'а'); // заменяет в строке все буквы "о" на букву "а"String stroka2 = stroka.toUpperCase( ); // преобразует строку в верхний регистрString stroka2 = stroka.toLowerCase( ); // преобразует строку в нижний регистрint chislo=10; String stroka = String.valueOf(chislo); // переводит практически любой тип данных в тип StringИспользование класса String Tokenizer (разбивка строк на слова):Иногда необходимо разбить введенную пользователем строку на отдельные слова (например, при анализезапроса к поисковой системе).

Для этого в пакете java.util определен специальный класс StringTokenizer,который разбивает строук на слова, ориентируясь на пробелы в качестве разделителей. Пример программы сиспользованием этого класса приведен ниже:class primer {import java.util.StringTokenizer;public static void main(String args[ ] ) {// Запуск программыString stroka = "Инструкция по пользованию мылом"; // Задаем строку для разборкиStringTokenizer razborka = new StringTokenizer (stroka); // Создаем объект "razborka", типа StringTokenizerSystem.out.println ("Число слов в строке = "+ razborka.countTokens( ) ); /* метод countTokens ( ) подсчитывает число слов в строке */System.out.println ("Строка содержит следующие слова: " );while (razborka.hasMoreTokens ( ) )// метод hasMoreTokens возвращает true, пока в строке есть словаSystem.out.println (razborka.nextToken ( ) ); // метод nextToken возвращает следующее слово в строке}8.11.

Блоки try .. catch .. finally, обработка исключений.При возникновении ошибки, в Java программе возбуждается исключение (exception). Ошибки можнообрабатывать при помощи конструкции try .. catch .. finally.Синтаксис:try { /* часть программы, где возможно возникновение ошибки */ }catch ( тип_исключения переменная ){ /* блок кода, выполняющийся при возникновении ошибки; */ }finally { /* блок кода, выполняющийся после блока try и блока catch, даже если ошибки не было */}Пример 1:try { /* часть программы, где возможно возникновение ошибки */ }catch ( NumberFormatException oshibka){ String text="Неверный формат числа :"+oshibka.toString; System.out.println(text); }catch ( ArithmeticException oshibka){ String text="Ошибка вычислений:"+oshibka.toString; System.out.println(text); }finally { System.out.println("Конец"); }Пример 2*:import java.io. IOExceptiontry { /* часть программы, где возможно возникновение ошибки */ }catch ( IOException oshibka){ System.out.println("Какая-то ошибка ввода-вывода"); }* Перехват различных типов ошибок определен в различных пакетах (классах), поэтому перед заданиемблока try ..

Характеристики

Тип файла
PDF-файл
Размер
6 Mb
Материал
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6264
Авторов
на СтудИзбе
316
Средний доход
с одного платного файла
Обучение Подробнее