import java.util.*;

public class GetIntegerTestCompleted {
  
  public static final String INDENTIFICATION_MESSAGE = 
    "GetIntegerTest written by S. Robbins";
  public static final String VALUE_MESSAGE = 
    "The number entered is ";
  public static final String MAIN_PROMPT = 
    "Enter an integer between 1 and 100";
  public static final String OUT_OF_RANGE_START_MESSAGE = 
    "The value ";
  public static final String OUT_OF_RANGE_END_MESSAGE =
    " is out of range, try again";
  public static final String INVALID_VALUE_MESSAGE =
    "Invalid value entered, try again";
  
  public static void main(String[] args) {
    System.out.println(INDENTIFICATION_MESSAGE);
    Scanner console = new Scanner(System.in);
    int value = getIntegerBetweenOneAndOneHundred(console);
    System.out.println(VALUE_MESSAGE+value);
  }
  
  public static int getIntegerBetweenOneAndOneHundred(Scanner console) {
    System.out.println(MAIN_PROMPT);
    boolean goodValueFound = false;
    int value = -1;
    while (!goodValueFound) {
      if (console.hasNextInt()) {
        value = console.nextInt();
        if (value >= 1 && value <= 100)
          goodValueFound = true;
        else {
          System.out.println(OUT_OF_RANGE_START_MESSAGE +
             value + OUT_OF_RANGE_END_MESSAGE);
          System.out.println(MAIN_PROMPT);
        }
        
      }
      else {
        System.out.println(INVALID_VALUE_MESSAGE);
        System.out.println(MAIN_PROMPT);
        console.next();
      }
      
    }
    return value;
  }
  
}