Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class Prompt2
- {
- final private String DEFAULT_INT_PROMPT = "Please enter an integer";
- public static int intInRange( String prompt, 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(prompt + ": ");
- }
- else if (min == Integer.MIN_VALUE)
- {
- intLessThan(prompt, max, maxError);
- }
- else if (max == Integer.MAX_VALUE)
- {
- intGreaterThan(prompt, min, minError);
- }
- else
- {
- System.out.print(prompt + " (between " + min + " and " + max + "): ");
- }
- try
- {
- number = Integer.parseInt(user_input.next());
- if (number < min)
- {
- System.out.print(minError + " ");
- }
- else if (number > max)
- {
- System.out.print(maxError + " ");
- }
- }
- catch (NumberFormatException e)
- {
- number = min - 1;
- System.out.print("Input wasn't an integer. ");
- }
- } while (number < min || number > max);
- return number;
- }
- public static int intInRange( int min, int max, String minError, String maxError )
- {
- return intInRange(DEFAULT_INT_PROMPT, min, max, minError, maxError);
- }
- public static int intInRange( int min, int max, String error )
- {
- return intInRange(min, max, error, error);
- }
- public static int intInRange( int min, int max )
- {
- return intInRange(min, max, "Input out of range.");
- }
- public static int intGreaterThan( String prompt, int min, String error )
- {
- Scanner user_input = new Scanner(System.in);
- int number;
- do
- {
- if (min == Integer.MIN_VALUE)
- {
- System.out.print(prompt + ": ");
- }
- else
- {
- System.out.print(prompt + " (greater than " + min + "): ");
- }
- try
- {
- number = Integer.parseInt(user_input.next());
- if (number < min)
- {
- System.out.print(error + " ");
- }
- }
- catch (NumberFormatException e)
- {
- number = min - 1;
- System.out.print("Input wasn't an integer. ");
- }
- } while (number < min);
- return number;
- }
- public static int intGreaterThan( int min, String error )
- {
- return intGreaterThan(DEFAULT_INT_PROMPT, min, error);
- }
- public static int intGreaterThan( int min )
- {
- return intGreaterThan(min, "Input out of range.");
- }
- public static int wholeNumber( String error )
- {
- return intGreaterThan(0, error);
- }
- public static int wholeNumber()
- {
- return wholeNumber("That's a negative number.");
- }
- public static int intLessThan( String prompt, int max, String error )
- {
- Scanner user_input = new Scanner(System.in);
- int number;
- do
- {
- if (max == Integer.MAX_VALUE)
- {
- System.out.print(prompt + ": ");
- }
- else
- {
- System.out.print(prompt + " (less than " + max + "): ");
- }
- try
- {
- number = Integer.parseInt(user_input.next());
- if (number > max)
- {
- System.out.print(error + " ");
- }
- }
- catch (NumberFormatException e)
- {
- number = min - 1;
- System.out.print("Input wasn't an integer. ");
- }
- } while (number > max);
- return number;
- }
- public static int intLessThan( int max, String error )
- {
- return intLessThan(DEFAULT_INT_PROMPT, max, error);
- }
- public static int intLessThan( int max )
- {
- return intLessThan(max, "Input out of range.");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment