014 Java Scanner

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

Домашнее задание #

  1. Напишите программу, которой надо представиться. Данные, которые спрашивает машина: имя, фамилия, пол, возраст, e-mail. Для считывания данных типа String используйте метод next(): input.next()
  2. Напишите программу, которая принимает из “сканера” возраст человека в строке и отдаёт его в вашу переменную int. В четвёртой главе(char, String) мы коротко рассматривали один из способов передачи такой информации.
  3. Напишите программу, которой надо представиться. Данные, которые спрашивает машина: имя, фамилия, пол, возраст, e-mail. Для считывания данных типа String используйте метод next(): input.next()

Интерактивные программы - игры #

  1. Компьютер загадывает число от 1 до n. У пользователя k попыток отгадать. После каждой неудачной попытки компьютер сообщает меньше или больше загаданное число. В конце игры текст с результатом (или “Вы угадали”, или “Попытки закончились”).
  2. Президент приходит к власти если набрал 51% голосов избирателей. Создайте машину для ввода результатов выборов.
comments powered by Disqus