17.25M
Category: programmingprogramming

Рандомный рандом. Java

1.

Java
Рандомный
рандом
Занятие 14. Класс Math.

2.

Повестка дня
Повторение
Повторим то, что мы
уже знаем про работу
со строками
Класс Math
Разберем, какие
полезные методы есть
в классе Math
Игры
Напишем несложные
игры на Java с помощью
генератора случайных
чисел.

3.

Не бывает глупых вопросов
—девиз нашего курса

4.

Повторение
материала

5.

Методы сравнения строк
Для работы со строками существует удобный класс String, который содержит много полезных
методов, которые облегчают жизнь разработчику при работе со строками.
Для сравнения строк в классе String существуют методы:
boolean equals(String str)
Метод проверяет, равна ли строка другой строке.
boolean equalsIgnoreCase(String str)
проверяет, равна ли строка другой строке, игнорируя регистр.
boolean startsWith(String prefix)
проверяет, начинается ли строка с определенным префиксом
boolean endsWith(String suffix)
проверяет, заканчивается ли строка определенным суффиксом.

6.

Методы поиска подстрок
Для поиска подстрок в классе String существуют методы:
int indexOf(String str)
Метод возвращает индекс первого вхождения указанной строки в заданную строку.
int indexOf(String str, int index)
Метод возвращает индекс первого вхождения указанной строки, начиная с из указанного индекса .
int lastIndexOf(String str)
Метод возвращает индекс последнего вхождения указанной строки в заданную строку.
int lastIndexOf(String str, int index)
Метод возвращает индекс последнего вхождения указанной строки перед указанным индексом.

7.

Методы создания подстрок
Для создания подстрок в классе String существуют методы:
String substring(int beginIndex, int endIndex)
Метод возвращает подстроку из данной строки, начиная с указанного индекса beginIndex и
заканчивая индексом endIndex.
String repeat(int count)
Метод возвращает новую строку, которая повторяет данную строку count раз.
String replace(char oldChar, char newChar)
Метод возвращает новую строку, в которой все вхождения символа oldChar заменены на символ
newChar.
String toLowerCase()
Метод возвращает новую строку, в которой все символы данной строки приведены к нижнему
регистру.
String toUpperCase()
Метод возвращает новую строку, в которой все символы данной строки приведены к верхнему
регистру.
String trim()
Метод возвращает новую строку, в которой удалены все начальные и конечные пробелы.

8.

Задача 1
Многоквартирный дом
На каждом этаже многоэтажного дома
расположены три квартиры;
счет квартир идет слева направо. Например, на
первом этаже квартира
№ 1 расположена слева, квартира № 2 - в центре,
квартира № 3 - справа, и так далее.
Напишите программу, которая принимает с
клавиатуры номер квартиры и выводит на экран
следующую информацию: на каком этаже она
расположена, и какое место (слева, справа или в
центре) она занимает на этом этаже.

9.

Класс Math
Класс Math в языке Java предоставляет
множество математических функций и констант
для выполнения различных вычислений. Этот
класс содержит методы для:
● Вычисления абсолютных значений
(значений по модулю)
● Вычисления значений
тригонометрических функций (синусов,
косинусов и т.д.)
● Возведения в различные степени
● Извлечения корней различных степеней
● Генерации случайных чисел
● Округления чисел

10.

Основные методы класса Math
max(double a, double b) возвращает большее значение из двух чисел a и b.
min(double a, double b) возвращает меньшее значение из двух чисел a и b.
cos(double d) возвращает косинус угла d.
sin(double value) возвращает синус угла value.
pow(double a, double b) возвращает результат возведения числа a в степень b.
abs(double a) возвращает абсолютное значение числа a.
sqrt(double a) возвращает квадратный корень числа a.
cbrt(double a) возвращает кубический корень числа a.

11.

Задача 2
Анализ данных
В аналитике данных часто применяется
метод наименьших квадратов.
Реализуйте программу которая
считывает с клавиатуры число N и
находит сумму квадратов чисел от 1 до
N.

12.

Методы для округления
ceil(double value) возвращает округленное значение вверх до ближайшего
целого числа
floor(double d) возвращает округленное значение вниз до ближайшего
целого числа
round(double a) возвращает округленное значение до ближайшего целого
числа

13.

Задача 3
Платим по счетам
Мосэнергосбыт поставляет
электроэнергию в дневное время суток
по 6,81 руб., а в ночное – по 2,48 руб. за 1
кВт·ч. Напишите программу, которая
считывает с клавиатуры потребленное
электричество в дневное и ночное
время за месяц и рассчитывает сумму за
это округленную до целого в большую
сторону.

14.

IT релакс
iOs или Android — что
выбирает мобильный
разработчик?

15.

Генерация случайных чисел
Метод Math.random() используется для генерации случайных чисел, он возвращает
вещественное псевдослучайное число в диапазоне от 0.0 до 1.0 (включая 0.0, но не включая 1.0).
1. Генерация случайного вещественного числа в пределах от 0.0 до 10.0:
double randomNumber1 = Math.random() * 10;
2. Генерация случайного целого числа в пределах от 1 до 100:
int randomNumber2 = (int)(Math.random() * 100) + 1;
3. Генерация случайного числа в пределах заданного диапазона:
int min = 5;
int max = 20;
int randomNum = (int)(Math.random() * (max - min + 1)) + min;
4. Генерация случайного булевого значения:
boolean randomBoolean = Math.random() < 0.5;

16.

Задача 4
Игра в кости
Создайте симуляцию броска двух
игральных костей. Сгенерируйте
случайные числа от 1 до 6 для каждой
кости и рассчитайте сумму. Разрешите
пользователю угадать, будет ли сумма
нечетной или четной.

17.

Задача 5
Камень, ножницы, бумага.
Напишите игру камень, ножницы,
бумага. Пользователь вводит то, что он
выбросит, а программа рандомно
генерирует свой вариант, затем
выводит результат схватки.

18.

Прокачка за сегодня
Узнали про методы класса Math для
вычислений и округлений.
Разобрали генерацию случайных
чисел в Java с помощью метода
Math.random() (это, кстати, не
единственный способ).
Написали 2 несложные игры
применив генерацию случайных
чисел.

19.

Интресное по теме
https://docs.oracle.com/javase/8/docs/api/java/lang/M
ath.html
—документация на класс java.lang.Math
https://habr.com/ru/companies/yandex_praktikum/articles/738812
/
—подборка материалов для самостоятельного
изучения
https://www.youtube.com/watch?v=ziOQ8wkmnSE&list=PLAma_mKffTOSUkXp26rgdnC0Picn
mnDak
—видосы по Java для начинающих
English     Русский Rules