brainfrz

Prompt2 Lib

Oct 11th, 2015
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.46 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class Prompt2
  4. {
  5.     final private String DEFAULT_INT_PROMPT = "Please enter an integer";
  6.    
  7.    
  8.    
  9.     public static int intInRange( String prompt, int min, int max, String minError,
  10.         String maxError )
  11.     {
  12.         Scanner user_input = new Scanner(System.in);
  13.         int number;
  14.  
  15.         do
  16.         {
  17.             if (min == Integer.MIN_VALUE && max == Integer.MAX_VALUE)
  18.             {
  19.                 System.out.print(prompt + ": ");
  20.             }
  21.             else if (min == Integer.MIN_VALUE)
  22.             {
  23.                 intLessThan(prompt, max, maxError);
  24.             }
  25.             else if (max == Integer.MAX_VALUE)
  26.             {
  27.                 intGreaterThan(prompt, min, minError);
  28.             }
  29.             else
  30.             {
  31.                 System.out.print(prompt + " (between " + min + " and " + max + "): ");
  32.             }
  33.  
  34.             try
  35.             {
  36.                 number = Integer.parseInt(user_input.next());
  37.  
  38.                 if (number < min)
  39.                 {
  40.                     System.out.print(minError + " ");
  41.                 }
  42.                 else if (number > max)
  43.                 {
  44.                     System.out.print(maxError + " ");
  45.                 }
  46.             }
  47.             catch (NumberFormatException e)
  48.             {
  49.                 number = min - 1;
  50.                 System.out.print("Input wasn't an integer. ");
  51.             }
  52.         } while (number < min || number > max);
  53.  
  54.         return number;
  55.     }
  56.  
  57.     public static int intInRange( int min, int max, String minError, String maxError )
  58.     {
  59.         return intInRange(DEFAULT_INT_PROMPT, min, max, minError, maxError);
  60.     }
  61.  
  62.     public static int intInRange( int min, int max, String error )
  63.     {
  64.         return intInRange(min, max, error, error);
  65.     }
  66.  
  67.     public static int intInRange( int min, int max )
  68.     {
  69.         return intInRange(min, max, "Input out of range.");
  70.     }
  71.  
  72.  
  73.     public static int intGreaterThan( String prompt, int min, String error )
  74.     {
  75.         Scanner user_input = new Scanner(System.in);
  76.         int number;
  77.  
  78.         do
  79.         {
  80.             if (min == Integer.MIN_VALUE)
  81.             {
  82.                 System.out.print(prompt + ": ");
  83.             }
  84.             else
  85.             {
  86.                 System.out.print(prompt + " (greater than " + min + "): ");
  87.             }
  88.  
  89.             try
  90.             {
  91.                 number = Integer.parseInt(user_input.next());
  92.  
  93.                 if (number < min)
  94.                 {
  95.                     System.out.print(error + " ");
  96.                 }
  97.             }
  98.             catch (NumberFormatException e)
  99.             {
  100.                 number = min - 1;
  101.                 System.out.print("Input wasn't an integer. ");
  102.             }
  103.         } while (number < min);
  104.  
  105.         return number;
  106.     }
  107.  
  108.     public static int intGreaterThan( int min, String error )
  109.     {
  110.         return intGreaterThan(DEFAULT_INT_PROMPT, min, error);
  111.     }
  112.  
  113.     public static int intGreaterThan( int min )
  114.     {
  115.         return intGreaterThan(min, "Input out of range.");
  116.     }
  117.  
  118.     public static int wholeNumber( String error )
  119.     {
  120.         return intGreaterThan(0, error);
  121.     }
  122.    
  123.     public static int wholeNumber()
  124.     {
  125.         return wholeNumber("That's a negative number.");
  126.     }
  127.  
  128.  
  129.     public static int intLessThan( String prompt, int max, String error )
  130.     {
  131.         Scanner user_input = new Scanner(System.in);
  132.         int number;
  133.  
  134.         do
  135.         {
  136.             if (max == Integer.MAX_VALUE)
  137.             {
  138.                 System.out.print(prompt + ": ");
  139.             }
  140.             else
  141.             {
  142.                 System.out.print(prompt + " (less than " + max + "): ");
  143.             }
  144.  
  145.             try
  146.             {
  147.                 number = Integer.parseInt(user_input.next());
  148.  
  149.                 if (number > max)
  150.                 {
  151.                     System.out.print(error + " ");
  152.                 }
  153.             }
  154.             catch (NumberFormatException e)
  155.             {
  156.                 number = min - 1;
  157.                 System.out.print("Input wasn't an integer. ");
  158.             }
  159.         } while (number > max);
  160.  
  161.         return number;
  162.     }
  163.  
  164.     public static int intLessThan( int max, String error )
  165.     {
  166.         return intLessThan(DEFAULT_INT_PROMPT, max, error);
  167.     }
  168.  
  169.     public static int intLessThan( int max )
  170.     {
  171.         return intLessThan(max, "Input out of range.");
  172.     }
  173. }
Advertisement
Add Comment
Please, Sign In to add comment