2013-05-03 2 views
0

Я пытаюсь сделать банк, я делаю опцию сканера, поэтому, если вы нажмете 1, вы можете снять деньги, если вы нажмете 2. Вы добавите деньги и 3 для выхода из банка. Но когда я нажимаю 2 или 3, он ничего не делает, я пробовал еще, если, но потом у меня появляется больше ошибок, и я не знаю разницы.Почему мои переменные не работают?

------ NOTE ------ Я пробовал un nesting (если это фраза), но я получаю синтаксическую ошибку в другом месте рядом с кнопкой (я отмечен где) Так что я не уверен как исправить это

import java.util.Scanner; 




public class Bank { 




    public static void main (String [] args) { 
    System.out.println("Welcome To Harry's Bank"); 


    //Pin System 
     System.out.println("Please Enter Your Bank Pin."); 
    Scanner userInput = new Scanner (System.in); 
     int number; 
     int password = 7123; 
     int amount = 4000; 

     number = userInput.nextInt(); 

     if (number == password) { 
     System.out.println("Pin Accepted"); 
     System.out.println("You Have Now Entered Harry's Bank!"); 
     System.out.println("Press The Number Of The Option You Would Like."); 
     System.out.println("1.Withdraw Money."); 
     System.out.println("2.Put In Money"); 
     System.out.println("3.Exit Bank"); 
     Scanner Options = new Scanner (System.in); 
     int option; 
     option = userInput.nextInt(); 

     if (option == 1) { 
     //Withdraw Money System 
     System.out.println("You Have £4000"); 
     System.out.println("How Much Would You Like To Take Out?"); 
     Scanner Input = new Scanner (System.in); 
     int numbere; 


     numbere = userInput.nextInt(); 
     if (numbere < 4000) { 

     int money = amount - numbere; 
      System.out.println("You Have Now £" + money); 
      System.out.println("Thank You For Banking At Harry's Bank!"); 
      System.out.println("Please Come Again!"); 
      }else{ 
       System.out.println("You Do Not Have Enough Money!"); 
      } 
     } 


     else if (option == 2) { 
      //AddMoney System 
      Scanner AddMoney = new Scanner (System.in); 
      int AddMoney1; 
      AddMoney1 = userInput.nextInt(); 
      int NewMoney = (amount + AddMoney1); 
      System.out.println("How Much Would You Like To Enter?"); 
      System.out.println("You Now Have " + NewMoney + "!"); 
      System.out.println("Thank You For Using Harry's Bank!"); 




     } 
     else if (option == 3) { 
      System.out.println(""); 
      System.out.println(""); 
      System.out.println(""); 
      System.out.println(""); 
      System.out.println(""); 
      System.out.println(""); 
      System.out.println(""); 
      System.out.println("Goodbye!"); 
     } 
     }else{ 
      System.out.println("Next Time Only Press 1,2 or 3!"); 
     } 
     //error Here For Else "Syntax error on token "else", { expected" 
     }else{ 
       System.out.println("Pin Declined!"); 

      } 



      } 








     } 
+6

Правильный отступ кода сразу показал бы решение :) –

ответ

1

Потому что 3-й и 4-й, если заявка вне досягаемости. Если вы не нажмете 1, они никогда не будут достигнуты.

8

Ваши кронштейны выключены. У вас есть

if(option ==1) 
{ 
    if(option == 2) 
    { 
     //stuff 
    } 

    if(option == 3) 
    { 
     //stuff 
    } 
} 

хода тех IfS из стороны первого

0

У вас есть ваш, если заявления вложенных внутри, если для «варианта == 1», так что вы не можете достичь вариантов 2 или 3, то это должно быть цепочка else if's

Смежные вопросы