Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*; // for scanner
- public class ScanAndSwitch {
- /**
- * Program: ScanAndSwitch.java
- * Purpose: Yahoo! Answers question
- * Creator: Chris Clarke, author "50 Java Program Source Codes" e-book
- * Created: 29.10.2013
- */
- public static void main(String[] args) {
- // create scanner
- Scanner scan = new Scanner(System.in);
- // variables will contain input numbers
- int x = 0, y = 0;
- // maths operator character which will be input
- char m = ' ';
- // the letter as input string
- String let = "";
- int result = 0; // the result of the mathematical operation
- String op = ""; // the operator (+, * or %)
- // boolean error flag
- boolean letterError;
- try {
- // prompt for input
- System.out.print("Enter integer value for x: ");
- // read integer from keyboard
- x = scan.nextInt();
- // prompt for input
- System.out.print("Enter integer value for y: ");
- // read integer from keyboard
- y = scan.nextInt();
- } catch (InputMismatchException e) {
- //e.printStackTrace();
- System.out.println("That\'s not an integer!");
- System.exit(1);
- } // end try/catch
- do { // start do/while loop
- // set error flag to false
- letterError = false;
- // prompt for a letter
- System.out.print("Enter a, b or c: ");
- // read letter as string from keyboard
- let = scan.next();
- // convert to lower case
- let = let.toLowerCase();
- // get first character
- m = let.charAt(0);
- // branch according to m
- switch (m) {
- case 'a': result = x + y; op = " + "; break;
- case 'b': result = x * y; op = " * "; break;
- case 'c': if (y != 0) { // if y isn't zero
- result = x % y; op = " % "; break;
- } else { // y was zero
- System.out.println("Modulo zero error!");
- // end program
- System.exit(1);
- } // end if
- default : System.out.println("Invalid letter, try again.");
- // set error flag to true
- letterError = true;
- } // end switch
- } while (letterError); // end do/while loop
- // output result
- System.out.println(x + op + y + " = " + result);
- } // end main()
- } // end class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement