2016-05-08 8 views
0
import java.util.Scanner; 

public class ATMMachine { 
    // Declared global variables. 
    public static int IDattempts = 3, pinattempts = 3; 
    public static double balance; 
    public static String ID = "John Smith", pin = "1234"; 
    public static int freeze = 0; 

    public static void main(String[] args) { 
     IDProcedure(); 
    } 

    static Scanner input = new Scanner(System.in); 

    // ID Procedure 
    public static void IDProcedure() { 
     while (freeze == 0) { 

      System.out.print("Please enter your ID: "); 
      ID = input.nextLine(); 
      // Ignores case, so if typed in upper/lower , program still works. 
      if (ID.equalsIgnoreCase("john smith")) { 
       PINProcedure(); 
      } else { 
       IDattempts -= 1; 
       System.out.println("You have " + IDattempts + " more tries to enter your correct ID"); 
      } 
      if (IDattempts == 0) { 
       System.out.print("You are out of tries, you will be kicked out of the program."); 
       System.exit(0); 
      } 

     } 
    } 

    // PIMProcedure 
    public static void PINProcedure() { 
     while (freeze == 0) { 

      System.out.print("Please enter your PIN: "); 
      pin = input.nextLine(); 
      if (pin.equals("1234")) { 
       System.out.print("You're in!"); 
       // Here is where you make them see their balance, withdrawal 
      } else { 
       pinattempts -= 1; 
       System.out.println("You have " + pinattempts + " more tries to enter your correct PIN"); 
       System.exit(0); 
      } 
     } 
    } 
} 

こんにちは行うようにプログラムされていないときに終了します。ATMマシンプログラム、プログラムは、だから私は、ATM機械のようですが、私は今、説明する必要がすべては私が持っているものであるプログラムを作っています</p> <p>、そう

誰かがプログラムを開くと、ID(ユーザー名)とピン(4桁の数字のパスワード)を要求されます。

IDを要求されたときに3回試行しても問題が解決しない場合、プログラムは終了します。

PINのメッセージが表示されたら、1を使い果たしてしまいます。これを修正する方法はありますか?これは確信しています。私はコミュニティの助けが必要です!前もって感謝します。さらにエラーや初心者の間違いが見つかった場合は、私が新しいものであることを知らせてください。

答えて

0

PINProcedure()メソッドを詳しく見てください。間違ったPINは、多くの試みが残っているかに関係なく、入力された場合、それはSystem.exit(0)に達するので、

if (IDattempts == 0) { 
      System.out.print("You are out of tries, you will be kicked out of the program."); 
      System.exit(0); 
     } 

PINProcedure()

この条件文が欠落しています。 IDProcedure()では、あなたはこれを持っています。 IDProcedure()のように、ここに条件文を含めるだけで、すべて正常に動作するはずです。

+0

ありがとうございました。私は何らかの理由でそれを発見しませんでした。私は繰り返しコードがたくさんあるときに自分自身が失われていくのを感じます。私は新しいので、私はそれに取り組む必要があります。しかし、はい、問題を見つけるのを手伝ってくれてありがとう。 – ValiantChampion

+0

あなたは大歓迎です! :) –

関連する問題