Интерактивный ввод данных
Интерактивный ввод данных
можно организовать с использованием классов из пакетов
1) java.util
2) java.io
1 – более простой способ, но некоторые возможности ограничены;
2 – более универсальный, но организация ввода более сложная.
На начальном этапе будем использовать пакет java.util
Справка
- Программа обладает интерактивностью если она взаимодействует с пользователем (например, запрашивает исходные данные и дальнейшее поведение программы зависит от этих данных).
- Пакет в java – это совокупность классов для решения определенного круга задач (например, для организации ввода данных).
- Пакет java.lang подключается к программе автоматически .
1. Пакет java.util
должен быть ИМПОРТИРОВАН – для этого ПЕРЕД заголовком класса-программы записывается оператор import :
import java.util.*;
public class ...
- import java.util.*; public class ...
2. Создание сканера
Перед тем, как считывать данные с клавиатуры, необходимо создать сканер клавиатуры на основе стандартного потока ввода System.in ( установить связь с клавиатурой )
Scanner sc = new Scanner(System.in);
sc – это имя переменной (сканера).
Методы для ввода данных с клавиатуры
применяются для созданного сканера:
sc.next()
считывает строку до первого пробела
sc.nextLine()
считывает строку
sc.nextInt()
считывает целое число
sc.nextFloat()
считывает число типа float
sc.nextDouble()
считывает число типа double
Линейная программа
- это программа, все операторы которой исполняются последовательно один за другим, причем каждый ровно один раз.
Основной алгоритм:
- ввод исходных данных обработка и получение результатов вывод результатов.
- ввод исходных данных
- обработка и получение результатов
- вывод результатов.
Пример программы
Задача: Вычислить площадь и периметр прямоугольника с заданными сторонами.
Модель:
Исходные данные: a и b – длины сторон
Результаты: s – площадь, p – периметр
Связь: s=a*b , p=(a+b)*2
Исходный код:
import java.util.*;
public class Rectangle {
public static void main (String [ ] args) {
Scanner sc=new Scanner (System.in);
System.out.print (“ Введите длину 1-й стороны “);
int a=sc.nextInt();
System.out.print (“ Введите длину 2 -й стороны “);
int b=sc.nextInt();
int s=a*b;
int p=(a+b)*2;
System.out.println (“ Площадь прямоугольника ” + s ) ;
System.out.println (“ Периметр прямоугольника ” + p ) ;
}
}
Стандартные функции
реализованы как статические методы класса Math , входящего в состав пакета java.lang , импортируемого автоматически.
Некоторые методы класса Math :
Math.sqrt(x)
квадратный корень из x
Math.pow(x,y)
возведение числа x в степень y (x y )
Math.sin(x)
Math.cos(x)
sin x
cos x
Math.abs(x)
модуль (абсолютная величина) x
Math.round(x)
округление x до целого
Math.exp(x)
и многие другие
экспонента x ( e x )
Задача 1:
Составить программу для вычисления длины окружности и площади круга радиуса r (для получения значения числа π использовать константу Math.PI ) .
Задача 2:
Составить программу, которая поменяет местами значения двух переменных.
Задача 3:
Составить программу, которая выводит значение true , если введенное четырехзначное число является номером счастливого билета, или значение false , если не является.
(Доработка: обрабатывать шестизначное число).
Задача 4 ( 1.4 из задачника на учебном портале ):
Составить программу вычисления площади треугольника, заданного длинами своих сторон (по формуле Герона ).
Задача 5 ( 1.9 из задачника на учебном портале ):
« Временной интервал ». Заданы моменты начала и конца некоторого промежутка времени в часах, минутах и секундах (в пределах одних суток). Найти продолжительность этого промежутка в тех же единицах измерения.
Например: начало 10:30:45
конец 13:20:15
продолжительность 2:49:30