Note that there are some explanatory texts on larger screens.

plurals
  1. POException Handling giving me trouble
    primarykey
    data
    text
    <p>I have a small program I am working on. I Just put a try catch in my code and everything seems to be working except for 1 thing. I will post my code below... As you can see my try catch statement in my code it tells the program to go down to the checkNumber method for exception handling. I keep getting an error on this part...</p> <pre><code>if (input == 5){ } </code></pre> <p>The input keeps underlining red and saying "Incompatible operand types scanner and int.</p> <p>Not sure what the problem is... or how to fix it.. here is my code</p> <pre><code>import java.util.ArrayList; import java.util.Scanner; public class BankMain { private double availableBal =80; private double totalBal =100; private double availableBal2 =480; private double totalBal2 =500; private double availableBal3 =80; private double totalBal3 =100; ArrayList&lt;Integer&gt; cardNum = new ArrayList&lt;Integer&gt;(); static Scanner input = new Scanner(System.in); private String error; //String the error from the exception { error = "error"; } public void cardNumbers(){ Scanner cards = new Scanner(System.in); Scanner input = new Scanner(System.in); Scanner keyboard = new Scanner(System.in); try{ System.out.println("Please select a 5 digit card number"); cardNum.add(input.nextInt()); checkNumber(); } catch(invalidNumber err){ System.out.println("Caught Error: " + err.getError()); } System.out.println("Thank you! You're card number is " +cardNum); System.out.println("Type 'c' to go back to main menu."); String value = keyboard.next(); if(value.equalsIgnoreCase("c")){ menu(); } else if (!keyboard.equals('c')){ System.out.println("Invalid Entry!"); } } public void menu(){ System.out.println("ATM Menu:"); System.out.println(); System.out.println("1 = Create Account"); System.out.println("2 = Account Login"); System.out.println("3 = Exit ATM"); query(); } public void startAtm() { menu(); } public void drawMainMenu() { AccountMain main3 = new AccountMain(); int selection; System.out.println("\nATM main menu:"); System.out.println("1 - View account balance"); System.out.println("2 - Withdraw funds"); System.out.println("3 - Add funds"); System.out.println("4 - Back to Account Menu"); System.out.println("5 - Terminate transaction"); System.out.print("Choice: "); selection =input.nextInt(); switch(selection) { case 1: viewAccountInfo(); break; case 2: withdraw(); break; case 3: addFunds(); break; case 4: AccountMain.selectAccount(); break; case 5: System.out.println("Thank you for using this ATM!!! goodbye"); } } public void viewAccountInfo() { System.out.println("Account Information:"); System.out.println("\t--Total balance: $"+totalBal); System.out.println("\t--Available balance: $"+availableBal); drawMainMenu(); } public void viewAccountInfo2() { System.out.println("Account Information:"); System.out.println("\t--Total balance: $"+totalBal2); System.out.println("\t--Available balance: $"+availableBal2); drawMainMenu(); } public void deposit(int depAmount) { System.out.println("\n***Please insert your money now...***"); totalBal =totalBal +depAmount; availableBal =availableBal +depAmount; } public void checkNsf(int withdrawAmount) { if(totalBal -withdrawAmount &lt; 0) System.out.println("\n***ERROR!!! Insufficient funds in you accout***"); else { totalBal =totalBal -withdrawAmount; availableBal =availableBal -withdrawAmount; System.out.println("\n***Please take your money now...***"); } } public void addFunds() { int addSelection; System.out.println("Deposit funds:"); System.out.println("1 - $20"); System.out.println("2 - $40"); System.out.println("3 - $60"); System.out.println("4 - $100"); System.out.println("5 - Back to main menu"); System.out.print("Choice: "); addSelection =input.nextInt(); switch(addSelection) { case 1: deposit(20); drawMainMenu(); break; case 2: deposit(40); drawMainMenu(); break; case 3: deposit(60); drawMainMenu(); break; case 4: deposit(100); drawMainMenu(); break; case 5: drawMainMenu(); break; } } public void withdraw() { int withdrawSelection; System.out.println("Withdraw money:"); System.out.println("1 - $20"); System.out.println("2 - $40"); System.out.println("3 - $60"); System.out.println("4 - $100"); System.out.println("5 - Back to main menu"); System.out.print("Choice: "); withdrawSelection =input.nextInt(); switch(withdrawSelection) { case 1: checkNsf(20); drawMainMenu(); break; case 2: checkNsf(40); drawMainMenu(); break; case 3: checkNsf(60); drawMainMenu(); break; case 4: checkNsf(100); drawMainMenu(); break; case 5: drawMainMenu(); break; } } public void query(){ Scanner keyboard = new Scanner(System.in); double input = keyboard.nextInt(); if (input == 2){ BankMainPart2 main2 = new BankMainPart2(); System.out.println("Please enter your 5 digit card number."); BankMainPart2.loginCard(cardNum); } else if (input == 1){ cardNumbers(); } else if (input == 3){ System.out.println("Thank you, have a nice day!"); System.exit(0); } } public void checkingMenu() { AccountMain main3 = new AccountMain(); int selection; System.out.println("\nATM main menu:"); System.out.println("1 - View account balance"); System.out.println("2 - Withdraw funds"); System.out.println("3 - Add funds"); System.out.println("4 - Back to Account Menu"); System.out.println("5 - Terminate transaction"); System.out.print("Choice: "); selection =input.nextInt(); switch(selection) { case 1: viewAccountInfo2(); break; case 2: withdraw(); break; case 3: addFunds(); break; case 4: AccountMain.selectAccount(); break; case 5: System.out.println("Thank you for using this ATM!!! goodbye"); } } private static void checkNumber() throws invalidNumber //run the check activation exception { if (input == 5) { System.out.println(""); } else throw new invalidNumber("invalid number"); } public static void main(String args[]) { BankMain myAtm = new BankMain(); myAtm.startAtm(); } } </code></pre> <p>Class Bank Main 2</p> <pre><code>import java.util.ArrayList; import java.util.Scanner; public class BankMainPart2 { public static void loginCard(ArrayList&lt;Integer&gt; cardNum){ BankMain main = new BankMain(); AccountMain main3 = new AccountMain(); Scanner logNum = new Scanner(System.in); int loginInput = logNum.nextInt(); if (cardNum.contains(loginInput)) { main3.selectAccount(); } else { System.out.println("Sorry, that pin number is incorrect!"); } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload