[{"data":1,"prerenderedAt":1040},["ShallowReactive",2],{"blog-\u002Fblog\u002Fjava_simulate_atm_machine_operations":3},{"id":4,"title":5,"body":6,"category":1029,"cover":1030,"csdn":1030,"date":1031,"description":35,"draft":1032,"extension":1033,"meta":1034,"navigation":52,"path":1035,"seo":1036,"stem":1037,"tags":1038,"updated":1030,"__hash__":1039},"blog\u002Fblog\u002Fjava_simulate_atm_machine_operations.md","java 模拟ATM机操作（初次学习java）",{"type":7,"value":8,"toc":1027},"minimark",[9,13,29,1017,1020,1023],[10,11,12],"p",{},"最大程度模拟现实ATM机操作",[14,15,16,20,23,26],"ol",{},[17,18,19],"li",{},"存款  100\u002F200\u002F500\u002F1000\u002F2000\u002F5000\u002F10000",[17,21,22],{},"取款 首先验证密码，3次连续失败锁定账户；密码验证成功后无需重复输入密码，可多次取款 100\u002F200\u002F500\u002F1000\u002F2000\u002F5000\u002F10000",[17,24,25],{},"查询余额",[17,27,28],{},"退卡",[30,31,36],"pre",{"className":32,"code":33,"language":34,"meta":35,"style":35},"language-java shiki shiki-themes github-light","import java.util.*;\n\npublic class Test {\n  public static void main(String[] args) {\n     \n    System.out.println(\"\\n\\n\\n\u002F\u002F你现在拥有一张储蓄卡：卡号为12345678910，密码为666666，余额为1000.0\\n\");\n    Account myCount = new Account(\"12345678910\", 666666, 1000);\n    System.out.println(\"-----------欢迎使用工商银行ATM-----------\\n\");\n\n    int input = 0;\u002F\u002F 操作读入\n    do {\n      System.out.println(\"-----------------------------------------\");\n      System.out.println(\"  1.存款  2.取款  3.查询余额  -1.退卡\");\n      System.out.println(\"-----------------------------------------\");\n      Scanner scan = new Scanner(System.in);\n      input = scan.nextInt();\n\n      switch (input) {\n\n      case 1: \u002F\u002F 存款\n        System.out.println(\"请输入存款金额: 100\u002F200\u002F500\u002F1000\u002F2000\u002F5000\u002F10000\\n\");\n        int dep = scan.nextInt();\n        myCount.deposit(dep);\n        break;\n\n      case 2: \u002F\u002F 取款 需依次进行 密码锁，密码验证\n        myCount.withdraw();\n        break;\n\n      case 3: \u002F\u002F 查询余额\n        System.out.println(\"查询中，请稍后...\");\n        System.out.println(\"当前账号余额为\" + myCount.getBalance() + \"元\\n\");   \n        break;\n\n      case -1: \u002F\u002F 退卡\n        myCount.setIsPassVerify(false);\u002F\u002F关闭 密码锁\n        System.out.println(\"\\n\\n欢迎下次使用。\\n\\n\");\n        break;\n\n      default: \u002F\u002F error\n        System.out.println(\"操作指令错误\");\n      }\n    } while (input != -1);\n  }\n}\n\nclass Account {\n  private String accountNumber;\n  private int password;\n  private double balance;\n  private boolean withDrawIsLock;\u002F\u002F 取款锁。密码验证错误 3次后置为 true, 此后不可取款。\n  private boolean isPassVerify;  \u002F\u002F 密码锁。某次使用ATM进行操作时，密码验证成功后，临时置为true,每次取款无需反复输入密码, 只须检查其值是否为 true; \n                                 \u002F\u002F        修改密码成功后或退卡时，重置为false, 保护账号安全。\n\n  Account(String acc, int pas, double bal) {\n    accountNumber = acc;\n    password = pas;\n    balance = bal;\n  }\n\n  void deposit(int d) {\n    if (d == 100 || d == 200 || d == 500 || d == 1000 || d == 2000 || d == 5000 || d == 10000) {\n      this.balance += d;\n      System.out.println(\"已存入\" + d + \"元，\" + \"当前账号余额为\" + balance + \"元\\n\");\n    } else {\n      System.out.println(\"\\n输入取款金额错误，可选金额限制 100\u002F200\u002F500\u002F1000\u002F2000\u002F5000\u002F10000\");\n    }\n  }\n\n  void withdraw() {\n    Scanner scan = new Scanner(System.in);\n      for(int count = 0;count \u003C= 3; ){\n        \n        int num =  passwordVerify(); \u002F\u002F pass密码验证 返回标识\n        if(num == 111){\n          break;\n        }\n        \u002F\u002F System.out.println(\"进行密码验证 返回标识\" + num);   \n        if(num == 1 || num == 222 ){\n          setIsPassVerify(true);     \u002F\u002F 打开 密码锁，退卡前或修改密码前无需再次验证密码。\n          double bal = getBalance(); \u002F\u002F 获取余额\n          if(num == 1){\n            System.out.println(\"密码正确。当前账号余额为\" + bal + \"元\");\n          }else if(num == 222){\n            System.out.println(\"\\n\\n无需再次验证密码。当前账号余额为\" + bal + \"元\");\n          }\n          System.out.println(\"\\n\\n请输入取款金额: 100\u002F200\u002F500\u002F1000\u002F2000\u002F5000\u002F10000\\n\");\n          int w = scan.nextInt();\n\n          \u002F\u002F 检查取款金额是否在可选范围\n          if (w == 100 || w == 200 || w == 500 || w == 1000 || w == 2000 || w == 5000 || w == 10000) {\n\n            \u002F\u002F 检查余额是否足够\n            if (w > bal) {\n              System.out.println(\"余额不足! \" + \"当前账号余额为\" + bal + \"元\");\n            } else {\n              balance -= w;\n              System.out.println(\"已取出\" + w + \"元，\" + \"当前账号余额为\" + getBalance() + \"元\\n\");\n            }\n          } else {\n            System.out.println(\"\\n输入取款金额错误，可选金额限制 100\u002F200\u002F500\u002F1000\u002F2000\u002F5000\u002F10000\");\n          }\n\n          break;\n        }else{\n          count ++;\n          if(count \u003C= 2)\n            System.out.println(\"密码错误，剩余\" + (3 - count) + \"次尝试机会,请重新输入...\\n\\n\\n\");\n\n          \u002F\u002F 验证错误次数 >=3 ,打开取款锁\n          if(count >= 3)\n            setWithDrawIsLock();\n        }\n      }\n  }\n\n  int passwordVerify() {      \u002F\u002F 返回   0 ： 密码错误   \n                              \u002F\u002F 返回   1 :  密码正确 \n                              \u002F\u002F 返回 111 ： 取款锁打开， 不可取款\n                              \u002F\u002F 返回 222 ： 密码锁打开，本次取款无需验证密码 \n    \u002F\u002F 检查 取款锁状态\n    if (withDrawIsLock) {\n      System.out.println(\"\\n\\n\\n\\n*******************不可取款*******************\\n\");\n      System.out.println(\"连续密码验证错误次数大于等于3,请前往柜台咨询。\\n\");\n      System.out.println(\"*******************不可取款*******************\\n\\n\\n\\n\");\n      return 111;\n    }\n\n    \u002F\u002F 检查密码锁 , 通过后无需再次验证密码\n    if (isPassVerify) {\n      return 222; \u002F\u002F 密码验证通过\n    }\n\n    \u002F\u002F 验证密码\n    System.out.println(\"请输入6位数字密码：\");\n    Scanner scan = new Scanner(System.in);\n    int inputPassword = scan.nextInt();\n    if (inputPassword == getPassword()) {\n      return 1; \u002F\u002F 密码验证通过\n    } else {\n      return 0; \u002F\u002F 密码验证未通过\n    }\n  }\n\n  \u002F\u002F 取款锁\n  \u002F\u002F 验证失败错误次数大于等于3； 打开取款锁，禁止取款。继续取款需前往银行柜台处理\n  void setWithDrawIsLock() {\n    withDrawIsLock = true;\n  }\n\n  \u002F\u002F 密码锁\n  \u002F\u002F 验证密码通过后，临时置为true，取款无需重复验证密码\n  \u002F\u002F 修改秘密时或退卡时，置为false\n  void setIsPassVerify(boolean state) {\n    if(state){\n      this.isPassVerify = true;\n    }else{\n      this.isPassVerify = false;\n    }\n  }\n\n  \u002F\u002F 获取密码\n  private int getPassword() {\n    return password;\n  }\n\n  double getBalance() {\n    return balance;\n  }\n}\n","java","",[37,38,39,47,54,60,66,72,78,84,90,95,101,107,113,119,124,130,136,141,147,152,158,164,170,176,182,187,193,199,204,209,215,221,227,232,237,243,249,255,260,265,271,277,283,289,295,301,306,312,318,324,330,336,342,348,353,359,365,371,377,382,387,393,399,405,411,417,423,429,434,439,445,451,457,463,469,475,481,487,493,499,505,511,517,523,529,535,541,547,553,558,564,570,575,581,587,593,599,605,611,617,623,629,634,639,644,650,656,662,668,673,679,685,691,696,701,706,711,717,723,729,735,741,747,753,759,765,771,776,781,787,793,799,804,809,815,821,826,832,838,844,849,855,860,865,870,876,882,888,894,899,904,910,916,922,928,934,940,946,952,957,962,967,973,979,985,990,995,1001,1007,1012],"code",{"__ignoreMap":35},[40,41,44],"span",{"class":42,"line":43},"line",1,[40,45,46],{},"import java.util.*;\n",[40,48,50],{"class":42,"line":49},2,[40,51,53],{"emptyLinePlaceholder":52},true,"\n",[40,55,57],{"class":42,"line":56},3,[40,58,59],{},"public class Test {\n",[40,61,63],{"class":42,"line":62},4,[40,64,65],{},"  public static void main(String[] args) {\n",[40,67,69],{"class":42,"line":68},5,[40,70,71],{},"     \n",[40,73,75],{"class":42,"line":74},6,[40,76,77],{},"    System.out.println(\"\\n\\n\\n\u002F\u002F你现在拥有一张储蓄卡：卡号为12345678910，密码为666666，余额为1000.0\\n\");\n",[40,79,81],{"class":42,"line":80},7,[40,82,83],{},"    Account myCount = new Account(\"12345678910\", 666666, 1000);\n",[40,85,87],{"class":42,"line":86},8,[40,88,89],{},"    System.out.println(\"-----------欢迎使用工商银行ATM-----------\\n\");\n",[40,91,93],{"class":42,"line":92},9,[40,94,53],{"emptyLinePlaceholder":52},[40,96,98],{"class":42,"line":97},10,[40,99,100],{},"    int input = 0;\u002F\u002F 操作读入\n",[40,102,104],{"class":42,"line":103},11,[40,105,106],{},"    do {\n",[40,108,110],{"class":42,"line":109},12,[40,111,112],{},"      System.out.println(\"-----------------------------------------\");\n",[40,114,116],{"class":42,"line":115},13,[40,117,118],{},"      System.out.println(\"  1.存款  2.取款  3.查询余额  -1.退卡\");\n",[40,120,122],{"class":42,"line":121},14,[40,123,112],{},[40,125,127],{"class":42,"line":126},15,[40,128,129],{},"      Scanner scan = new Scanner(System.in);\n",[40,131,133],{"class":42,"line":132},16,[40,134,135],{},"      input = scan.nextInt();\n",[40,137,139],{"class":42,"line":138},17,[40,140,53],{"emptyLinePlaceholder":52},[40,142,144],{"class":42,"line":143},18,[40,145,146],{},"      switch (input) {\n",[40,148,150],{"class":42,"line":149},19,[40,151,53],{"emptyLinePlaceholder":52},[40,153,155],{"class":42,"line":154},20,[40,156,157],{},"      case 1: \u002F\u002F 存款\n",[40,159,161],{"class":42,"line":160},21,[40,162,163],{},"        System.out.println(\"请输入存款金额: 100\u002F200\u002F500\u002F1000\u002F2000\u002F5000\u002F10000\\n\");\n",[40,165,167],{"class":42,"line":166},22,[40,168,169],{},"        int dep = scan.nextInt();\n",[40,171,173],{"class":42,"line":172},23,[40,174,175],{},"        myCount.deposit(dep);\n",[40,177,179],{"class":42,"line":178},24,[40,180,181],{},"        break;\n",[40,183,185],{"class":42,"line":184},25,[40,186,53],{"emptyLinePlaceholder":52},[40,188,190],{"class":42,"line":189},26,[40,191,192],{},"      case 2: \u002F\u002F 取款 需依次进行 密码锁，密码验证\n",[40,194,196],{"class":42,"line":195},27,[40,197,198],{},"        myCount.withdraw();\n",[40,200,202],{"class":42,"line":201},28,[40,203,181],{},[40,205,207],{"class":42,"line":206},29,[40,208,53],{"emptyLinePlaceholder":52},[40,210,212],{"class":42,"line":211},30,[40,213,214],{},"      case 3: \u002F\u002F 查询余额\n",[40,216,218],{"class":42,"line":217},31,[40,219,220],{},"        System.out.println(\"查询中，请稍后...\");\n",[40,222,224],{"class":42,"line":223},32,[40,225,226],{},"        System.out.println(\"当前账号余额为\" + myCount.getBalance() + \"元\\n\");   \n",[40,228,230],{"class":42,"line":229},33,[40,231,181],{},[40,233,235],{"class":42,"line":234},34,[40,236,53],{"emptyLinePlaceholder":52},[40,238,240],{"class":42,"line":239},35,[40,241,242],{},"      case -1: \u002F\u002F 退卡\n",[40,244,246],{"class":42,"line":245},36,[40,247,248],{},"        myCount.setIsPassVerify(false);\u002F\u002F关闭 密码锁\n",[40,250,252],{"class":42,"line":251},37,[40,253,254],{},"        System.out.println(\"\\n\\n欢迎下次使用。\\n\\n\");\n",[40,256,258],{"class":42,"line":257},38,[40,259,181],{},[40,261,263],{"class":42,"line":262},39,[40,264,53],{"emptyLinePlaceholder":52},[40,266,268],{"class":42,"line":267},40,[40,269,270],{},"      default: \u002F\u002F error\n",[40,272,274],{"class":42,"line":273},41,[40,275,276],{},"        System.out.println(\"操作指令错误\");\n",[40,278,280],{"class":42,"line":279},42,[40,281,282],{},"      }\n",[40,284,286],{"class":42,"line":285},43,[40,287,288],{},"    } while (input != -1);\n",[40,290,292],{"class":42,"line":291},44,[40,293,294],{},"  }\n",[40,296,298],{"class":42,"line":297},45,[40,299,300],{},"}\n",[40,302,304],{"class":42,"line":303},46,[40,305,53],{"emptyLinePlaceholder":52},[40,307,309],{"class":42,"line":308},47,[40,310,311],{},"class Account {\n",[40,313,315],{"class":42,"line":314},48,[40,316,317],{},"  private String accountNumber;\n",[40,319,321],{"class":42,"line":320},49,[40,322,323],{},"  private int password;\n",[40,325,327],{"class":42,"line":326},50,[40,328,329],{},"  private double balance;\n",[40,331,333],{"class":42,"line":332},51,[40,334,335],{},"  private boolean withDrawIsLock;\u002F\u002F 取款锁。密码验证错误 3次后置为 true, 此后不可取款。\n",[40,337,339],{"class":42,"line":338},52,[40,340,341],{},"  private boolean isPassVerify;  \u002F\u002F 密码锁。某次使用ATM进行操作时，密码验证成功后，临时置为true,每次取款无需反复输入密码, 只须检查其值是否为 true; \n",[40,343,345],{"class":42,"line":344},53,[40,346,347],{},"                                 \u002F\u002F        修改密码成功后或退卡时，重置为false, 保护账号安全。\n",[40,349,351],{"class":42,"line":350},54,[40,352,53],{"emptyLinePlaceholder":52},[40,354,356],{"class":42,"line":355},55,[40,357,358],{},"  Account(String acc, int pas, double bal) {\n",[40,360,362],{"class":42,"line":361},56,[40,363,364],{},"    accountNumber = acc;\n",[40,366,368],{"class":42,"line":367},57,[40,369,370],{},"    password = pas;\n",[40,372,374],{"class":42,"line":373},58,[40,375,376],{},"    balance = bal;\n",[40,378,380],{"class":42,"line":379},59,[40,381,294],{},[40,383,385],{"class":42,"line":384},60,[40,386,53],{"emptyLinePlaceholder":52},[40,388,390],{"class":42,"line":389},61,[40,391,392],{},"  void deposit(int d) {\n",[40,394,396],{"class":42,"line":395},62,[40,397,398],{},"    if (d == 100 || d == 200 || d == 500 || d == 1000 || d == 2000 || d == 5000 || d == 10000) {\n",[40,400,402],{"class":42,"line":401},63,[40,403,404],{},"      this.balance += d;\n",[40,406,408],{"class":42,"line":407},64,[40,409,410],{},"      System.out.println(\"已存入\" + d + \"元，\" + \"当前账号余额为\" + balance + \"元\\n\");\n",[40,412,414],{"class":42,"line":413},65,[40,415,416],{},"    } else {\n",[40,418,420],{"class":42,"line":419},66,[40,421,422],{},"      System.out.println(\"\\n输入取款金额错误，可选金额限制 100\u002F200\u002F500\u002F1000\u002F2000\u002F5000\u002F10000\");\n",[40,424,426],{"class":42,"line":425},67,[40,427,428],{},"    }\n",[40,430,432],{"class":42,"line":431},68,[40,433,294],{},[40,435,437],{"class":42,"line":436},69,[40,438,53],{"emptyLinePlaceholder":52},[40,440,442],{"class":42,"line":441},70,[40,443,444],{},"  void withdraw() {\n",[40,446,448],{"class":42,"line":447},71,[40,449,450],{},"    Scanner scan = new Scanner(System.in);\n",[40,452,454],{"class":42,"line":453},72,[40,455,456],{},"      for(int count = 0;count \u003C= 3; ){\n",[40,458,460],{"class":42,"line":459},73,[40,461,462],{},"        \n",[40,464,466],{"class":42,"line":465},74,[40,467,468],{},"        int num =  passwordVerify(); \u002F\u002F pass密码验证 返回标识\n",[40,470,472],{"class":42,"line":471},75,[40,473,474],{},"        if(num == 111){\n",[40,476,478],{"class":42,"line":477},76,[40,479,480],{},"          break;\n",[40,482,484],{"class":42,"line":483},77,[40,485,486],{},"        }\n",[40,488,490],{"class":42,"line":489},78,[40,491,492],{},"        \u002F\u002F System.out.println(\"进行密码验证 返回标识\" + num);   \n",[40,494,496],{"class":42,"line":495},79,[40,497,498],{},"        if(num == 1 || num == 222 ){\n",[40,500,502],{"class":42,"line":501},80,[40,503,504],{},"          setIsPassVerify(true);     \u002F\u002F 打开 密码锁，退卡前或修改密码前无需再次验证密码。\n",[40,506,508],{"class":42,"line":507},81,[40,509,510],{},"          double bal = getBalance(); \u002F\u002F 获取余额\n",[40,512,514],{"class":42,"line":513},82,[40,515,516],{},"          if(num == 1){\n",[40,518,520],{"class":42,"line":519},83,[40,521,522],{},"            System.out.println(\"密码正确。当前账号余额为\" + bal + \"元\");\n",[40,524,526],{"class":42,"line":525},84,[40,527,528],{},"          }else if(num == 222){\n",[40,530,532],{"class":42,"line":531},85,[40,533,534],{},"            System.out.println(\"\\n\\n无需再次验证密码。当前账号余额为\" + bal + \"元\");\n",[40,536,538],{"class":42,"line":537},86,[40,539,540],{},"          }\n",[40,542,544],{"class":42,"line":543},87,[40,545,546],{},"          System.out.println(\"\\n\\n请输入取款金额: 100\u002F200\u002F500\u002F1000\u002F2000\u002F5000\u002F10000\\n\");\n",[40,548,550],{"class":42,"line":549},88,[40,551,552],{},"          int w = scan.nextInt();\n",[40,554,556],{"class":42,"line":555},89,[40,557,53],{"emptyLinePlaceholder":52},[40,559,561],{"class":42,"line":560},90,[40,562,563],{},"          \u002F\u002F 检查取款金额是否在可选范围\n",[40,565,567],{"class":42,"line":566},91,[40,568,569],{},"          if (w == 100 || w == 200 || w == 500 || w == 1000 || w == 2000 || w == 5000 || w == 10000) {\n",[40,571,573],{"class":42,"line":572},92,[40,574,53],{"emptyLinePlaceholder":52},[40,576,578],{"class":42,"line":577},93,[40,579,580],{},"            \u002F\u002F 检查余额是否足够\n",[40,582,584],{"class":42,"line":583},94,[40,585,586],{},"            if (w > bal) {\n",[40,588,590],{"class":42,"line":589},95,[40,591,592],{},"              System.out.println(\"余额不足! \" + \"当前账号余额为\" + bal + \"元\");\n",[40,594,596],{"class":42,"line":595},96,[40,597,598],{},"            } else {\n",[40,600,602],{"class":42,"line":601},97,[40,603,604],{},"              balance -= w;\n",[40,606,608],{"class":42,"line":607},98,[40,609,610],{},"              System.out.println(\"已取出\" + w + \"元，\" + \"当前账号余额为\" + getBalance() + \"元\\n\");\n",[40,612,614],{"class":42,"line":613},99,[40,615,616],{},"            }\n",[40,618,620],{"class":42,"line":619},100,[40,621,622],{},"          } else {\n",[40,624,626],{"class":42,"line":625},101,[40,627,628],{},"            System.out.println(\"\\n输入取款金额错误，可选金额限制 100\u002F200\u002F500\u002F1000\u002F2000\u002F5000\u002F10000\");\n",[40,630,632],{"class":42,"line":631},102,[40,633,540],{},[40,635,637],{"class":42,"line":636},103,[40,638,53],{"emptyLinePlaceholder":52},[40,640,642],{"class":42,"line":641},104,[40,643,480],{},[40,645,647],{"class":42,"line":646},105,[40,648,649],{},"        }else{\n",[40,651,653],{"class":42,"line":652},106,[40,654,655],{},"          count ++;\n",[40,657,659],{"class":42,"line":658},107,[40,660,661],{},"          if(count \u003C= 2)\n",[40,663,665],{"class":42,"line":664},108,[40,666,667],{},"            System.out.println(\"密码错误，剩余\" + (3 - count) + \"次尝试机会,请重新输入...\\n\\n\\n\");\n",[40,669,671],{"class":42,"line":670},109,[40,672,53],{"emptyLinePlaceholder":52},[40,674,676],{"class":42,"line":675},110,[40,677,678],{},"          \u002F\u002F 验证错误次数 >=3 ,打开取款锁\n",[40,680,682],{"class":42,"line":681},111,[40,683,684],{},"          if(count >= 3)\n",[40,686,688],{"class":42,"line":687},112,[40,689,690],{},"            setWithDrawIsLock();\n",[40,692,694],{"class":42,"line":693},113,[40,695,486],{},[40,697,699],{"class":42,"line":698},114,[40,700,282],{},[40,702,704],{"class":42,"line":703},115,[40,705,294],{},[40,707,709],{"class":42,"line":708},116,[40,710,53],{"emptyLinePlaceholder":52},[40,712,714],{"class":42,"line":713},117,[40,715,716],{},"  int passwordVerify() {      \u002F\u002F 返回   0 ： 密码错误   \n",[40,718,720],{"class":42,"line":719},118,[40,721,722],{},"                              \u002F\u002F 返回   1 :  密码正确 \n",[40,724,726],{"class":42,"line":725},119,[40,727,728],{},"                              \u002F\u002F 返回 111 ： 取款锁打开， 不可取款\n",[40,730,732],{"class":42,"line":731},120,[40,733,734],{},"                              \u002F\u002F 返回 222 ： 密码锁打开，本次取款无需验证密码 \n",[40,736,738],{"class":42,"line":737},121,[40,739,740],{},"    \u002F\u002F 检查 取款锁状态\n",[40,742,744],{"class":42,"line":743},122,[40,745,746],{},"    if (withDrawIsLock) {\n",[40,748,750],{"class":42,"line":749},123,[40,751,752],{},"      System.out.println(\"\\n\\n\\n\\n*******************不可取款*******************\\n\");\n",[40,754,756],{"class":42,"line":755},124,[40,757,758],{},"      System.out.println(\"连续密码验证错误次数大于等于3,请前往柜台咨询。\\n\");\n",[40,760,762],{"class":42,"line":761},125,[40,763,764],{},"      System.out.println(\"*******************不可取款*******************\\n\\n\\n\\n\");\n",[40,766,768],{"class":42,"line":767},126,[40,769,770],{},"      return 111;\n",[40,772,774],{"class":42,"line":773},127,[40,775,428],{},[40,777,779],{"class":42,"line":778},128,[40,780,53],{"emptyLinePlaceholder":52},[40,782,784],{"class":42,"line":783},129,[40,785,786],{},"    \u002F\u002F 检查密码锁 , 通过后无需再次验证密码\n",[40,788,790],{"class":42,"line":789},130,[40,791,792],{},"    if (isPassVerify) {\n",[40,794,796],{"class":42,"line":795},131,[40,797,798],{},"      return 222; \u002F\u002F 密码验证通过\n",[40,800,802],{"class":42,"line":801},132,[40,803,428],{},[40,805,807],{"class":42,"line":806},133,[40,808,53],{"emptyLinePlaceholder":52},[40,810,812],{"class":42,"line":811},134,[40,813,814],{},"    \u002F\u002F 验证密码\n",[40,816,818],{"class":42,"line":817},135,[40,819,820],{},"    System.out.println(\"请输入6位数字密码：\");\n",[40,822,824],{"class":42,"line":823},136,[40,825,450],{},[40,827,829],{"class":42,"line":828},137,[40,830,831],{},"    int inputPassword = scan.nextInt();\n",[40,833,835],{"class":42,"line":834},138,[40,836,837],{},"    if (inputPassword == getPassword()) {\n",[40,839,841],{"class":42,"line":840},139,[40,842,843],{},"      return 1; \u002F\u002F 密码验证通过\n",[40,845,847],{"class":42,"line":846},140,[40,848,416],{},[40,850,852],{"class":42,"line":851},141,[40,853,854],{},"      return 0; \u002F\u002F 密码验证未通过\n",[40,856,858],{"class":42,"line":857},142,[40,859,428],{},[40,861,863],{"class":42,"line":862},143,[40,864,294],{},[40,866,868],{"class":42,"line":867},144,[40,869,53],{"emptyLinePlaceholder":52},[40,871,873],{"class":42,"line":872},145,[40,874,875],{},"  \u002F\u002F 取款锁\n",[40,877,879],{"class":42,"line":878},146,[40,880,881],{},"  \u002F\u002F 验证失败错误次数大于等于3； 打开取款锁，禁止取款。继续取款需前往银行柜台处理\n",[40,883,885],{"class":42,"line":884},147,[40,886,887],{},"  void setWithDrawIsLock() {\n",[40,889,891],{"class":42,"line":890},148,[40,892,893],{},"    withDrawIsLock = true;\n",[40,895,897],{"class":42,"line":896},149,[40,898,294],{},[40,900,902],{"class":42,"line":901},150,[40,903,53],{"emptyLinePlaceholder":52},[40,905,907],{"class":42,"line":906},151,[40,908,909],{},"  \u002F\u002F 密码锁\n",[40,911,913],{"class":42,"line":912},152,[40,914,915],{},"  \u002F\u002F 验证密码通过后，临时置为true，取款无需重复验证密码\n",[40,917,919],{"class":42,"line":918},153,[40,920,921],{},"  \u002F\u002F 修改秘密时或退卡时，置为false\n",[40,923,925],{"class":42,"line":924},154,[40,926,927],{},"  void setIsPassVerify(boolean state) {\n",[40,929,931],{"class":42,"line":930},155,[40,932,933],{},"    if(state){\n",[40,935,937],{"class":42,"line":936},156,[40,938,939],{},"      this.isPassVerify = true;\n",[40,941,943],{"class":42,"line":942},157,[40,944,945],{},"    }else{\n",[40,947,949],{"class":42,"line":948},158,[40,950,951],{},"      this.isPassVerify = false;\n",[40,953,955],{"class":42,"line":954},159,[40,956,428],{},[40,958,960],{"class":42,"line":959},160,[40,961,294],{},[40,963,965],{"class":42,"line":964},161,[40,966,53],{"emptyLinePlaceholder":52},[40,968,970],{"class":42,"line":969},162,[40,971,972],{},"  \u002F\u002F 获取密码\n",[40,974,976],{"class":42,"line":975},163,[40,977,978],{},"  private int getPassword() {\n",[40,980,982],{"class":42,"line":981},164,[40,983,984],{},"    return password;\n",[40,986,988],{"class":42,"line":987},165,[40,989,294],{},[40,991,993],{"class":42,"line":992},166,[40,994,53],{"emptyLinePlaceholder":52},[40,996,998],{"class":42,"line":997},167,[40,999,1000],{},"  double getBalance() {\n",[40,1002,1004],{"class":42,"line":1003},168,[40,1005,1006],{},"    return balance;\n",[40,1008,1010],{"class":42,"line":1009},169,[40,1011,294],{},[40,1013,1015],{"class":42,"line":1014},170,[40,1016,300],{},[10,1018,1019],{},"初次学习，有错误，可以改进的地方请指出，多谢！",[10,1021,1022],{},"不知道几年之后再看到当初的代码会有什么样的心情呢。。",[1024,1025,1026],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":35,"searchDepth":49,"depth":49,"links":1028},[],"Software",null,"2019-09-27",false,"md",{},"\u002Fblog\u002Fjava_simulate_atm_machine_operations",{"title":5,"description":35},"blog\u002Fjava_simulate_atm_machine_operations",[34],"4ICLDGtp1C6TR7u873L7ZopORWAa1MSAxXw8zS4AtK4",1791790504895]