import java.util.Scanner;
public class PromptInRange
{
public static int promptIntInRange(int min, int max, String minError, String maxError)
{
Scanner user_input = new Scanner(System.in);
int number;
do
{
if (min == Integer.MIN_VALUE && max == Integer.MAX_VALUE)
{
System.out.print("Please enter an integer: ");
}
else if (min == Integer.MIN_VALUE)
{
System.out.print("Please enter an integer (less than " + max + "): ");
}
else if (max == Integer.MAX_VALUE)
{
System.out.print("Please enter an integer (greater than " + min + "): ");
}
else
{
System.out.print("Please enter an integer (between " + min + " and " + max + "): ");
}
number = user_input.nextInt();
if (number < min )
{
System.out.print(minError + " ");
}
else if (number > max)
{
System.out.print(maxError + " ");
}
} while (number < min || number > max);
return number;
}
public static int promptIntInRange(int min, int max, String error)
{
return promptIntInRange(min, max, error + " ", error + " ");
}
public static int promptIntInRange(int min, int max)
{
return promptIntInRange(min, max, "That's out of range.");
}
public static int promptWholeNumber()
{
return promptIntInRange(0, Integer.MAX_VALUE, "That's a negative number.");
}
}
Comments