Scanner — введение в Java 014 #
Я хочу ввести немного магии в наши программы. Мы уже пользовались и пользуемся для вывода результатов командой System.out.println(). Возможность ввода данных через терминал в программу также существует.
import java.util.Scanner;
public class WhileScanner {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int old;
System.out.println("Сколько тебе лет? ");
old = input.nextInt();
while (old >= 18){
System.out.println("Ты можешь купить на вечер что-то более крепкое, чем чай");
break; // выход из цикла
}
input.close(); // сканер нужно закрывать.
}
}
Удачное ли использование цикла while в примере выше?
Мы снова используем внешнюю библиотеку и в первой строчке мы её импортируем.
В строчке Scanner input = new Scanner(System.in);
мы объявляем переменную input, которая будет отвечать за введённые в терминал данные.
Обратите внимание на оператор new – с его помощью мы работаем с “непростыми данными”. Позже мы к нему вернёмся.
Пока же просто воспользуемся “сканером” и присвоим значение введённых данных переменной нашей old. С помощью old = input.nextInt();
мы передаём введённые целочисленные данные. Мы можем “перехватывать” данные любого типа. Просто мы должны записывать их в соответствующие переменные.
Обязательно закрывайте Scanner " input.close();"
Дополнительные материалы #
Подробнее о Scanner
Домашнее задание #
- Напишите программу, которой надо представиться. Данные, которые спрашивает машина: имя, фамилия, пол, возраст, e-mail. Для считывания данных типа String используйте метод next():
input.next()
- Напишите программу, которая принимает из “сканера” возраст человека в строке и отдаёт его в вашу переменную int. В четвёртой главе(char, String) мы коротко рассматривали один из способов передачи такой информации.
- Напишите программу, которой надо представиться. Данные, которые спрашивает машина: имя, фамилия, пол, возраст, e-mail. Для считывания данных типа String используйте метод next():
input.next()
Интерактивные программы - игры #
- Компьютер загадывает число от 1 до n. У пользователя k попыток отгадать. После каждой неудачной попытки компьютер сообщает меньше или больше загаданное число. В конце игры текст с результатом (или “Вы угадали”, или “Попытки закончились”).
- Президент приходит к власти если набрал 51% голосов избирателей. Создайте машину для ввода результатов выборов.