package ru.job4j.trackerapp.start;

import java.util.Scanner;
/**
 * ConsoleInput.
 *
 * @author Alexey Cheremisin.
 * @version $Id$.
 * @since 0.1.
*/
public class ConsoleInput implements Input {
	/**
	 * Настройка считывания пользовательского ввода.
	*/
	private Scanner scanner = new Scanner(System.in);
	/**
	 * Реализация метода ask из итерфейса Input.
	 * @param question вопрос задаваемый пользователю.
	 * @return ответ пользователя.
	*/
	public String ask(String question) {
		System.out.print(question);
		return scanner.nextLine();
	}
	/**
	 * Метод опроса пользователя и получения ответа.
	 * @param question - вопрос спрашиваемый у пользователя.
	 * @param range - диапазон допустимых значений.
	 * @return ответ пользователя.
	*/
	public int ask(String question, int[] range) {
		int key = Integer.valueOf(this.ask(question));
		boolean isExist = false;
		for (int value:range) {
			if (value == key) {
				isExist = true;
				break;
			}
		}
		if (isExist) {
			return key;
		} else {
			throw new MenuOutException("Out of menu range.");
		}
	}
}