Advertisement
brilliant_moves

ScanAndSwitch.java

Oct 29th, 2013
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 2.12 KB | None | 0 0
  1. import java.util.*; // for scanner
  2.  
  3. public class ScanAndSwitch {
  4.  
  5.     /**
  6.     *   Program:    ScanAndSwitch.java
  7.     *   Purpose:    Yahoo! Answers question
  8.     *   Creator:    Chris Clarke, author "50 Java Program Source Codes" e-book
  9.     *   Created:    29.10.2013
  10.     */
  11.  
  12.     public static void main(String[] args) {
  13.  
  14.         // create scanner
  15.         Scanner scan = new Scanner(System.in);
  16.  
  17.         // variables will contain input numbers
  18.         int x = 0, y = 0;
  19.  
  20.         // maths operator character which will be input
  21.         char m = ' ';
  22.  
  23.         // the letter as input string
  24.         String let = "";
  25.  
  26.         int result = 0; // the result of the mathematical operation
  27.         String op = ""; // the operator (+, * or %)
  28.  
  29.         // boolean error flag
  30.         boolean letterError;
  31.  
  32.         try {
  33.             // prompt for input
  34.             System.out.print("Enter integer value for x: ");
  35.             // read integer from keyboard
  36.             x = scan.nextInt();
  37.  
  38.             // prompt for input
  39.             System.out.print("Enter integer value for y: ");
  40.             // read integer from keyboard
  41.             y = scan.nextInt();
  42.  
  43.         } catch (InputMismatchException e) {
  44.             //e.printStackTrace();
  45.             System.out.println("That\'s not an integer!");
  46.             System.exit(1);
  47.         } // end try/catch
  48.  
  49.         do { // start do/while loop
  50.             // set error flag to false
  51.             letterError = false;
  52.             // prompt for a letter
  53.             System.out.print("Enter a, b or c: ");
  54.             // read letter as string from keyboard
  55.             let = scan.next();
  56.             // convert to lower case
  57.             let = let.toLowerCase();
  58.             // get first character
  59.             m = let.charAt(0);
  60.  
  61.             // branch according to m
  62.             switch (m) {
  63.                 case 'a': result = x + y; op = " + "; break;
  64.                 case 'b': result = x * y; op = " * "; break;
  65.                 case 'c': if (y != 0) { // if y isn't zero
  66.                         result = x % y; op = " % "; break;
  67.                       } else { // y was zero
  68.                         System.out.println("Modulo zero error!");
  69.                         // end program
  70.                         System.exit(1);
  71.                       } // end if
  72.                 default : System.out.println("Invalid letter, try again.");
  73.                       // set error flag to true
  74.                       letterError = true;
  75.             } // end switch
  76.         } while (letterError); // end do/while loop
  77.  
  78.         // output result
  79.         System.out.println(x + op + y + " = " + result);
  80.  
  81.     } // end main()
  82.  
  83. } // end class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement