面向對象基本思想,用面向對象思想編寫方法寫出atm機取款流程

 2023-11-30 阅读 26 评论 0

摘要:在java學習中,面向對象思想是學習這門語言的核心,通過定義各種類和方法并調用 他們來寫出一個項目,這樣在修改項目時可以通過修改里面的方法而不是直接修改整 個代碼,達到了方便簡單的目的,下面就用一個atm機提款流程來簡單練習方法的使 面

在java學習中,面向對象思想是學習這門語言的核心,通過定義各種類和方法并調用

他們來寫出一個項目,這樣在修改項目時可以通過修改里面的方法而不是直接修改整

個代碼,達到了方便簡單的目的,下面就用一個atm機提款流程來簡單練習方法的使

面向對象基本思想。用,代碼如下:


package com.jredu.object;import java.time.Year;
import java.util.Scanner;public class Atm {//在這里為圖方便直接在atm類中定義了密碼類,建議正常書寫時單獨定義public class Password {private int password;public Password(int password) {super();this.password = password;}}// 類的屬性聲明public int inputpassword;Password psd = new Password(111111);Scanner scanner = new Scanner(System.in);int money = 0;// 用戶選擇的提款金額int total = 20000;// 總金額// 輸入并驗證密碼部分public void ipsd() {for (int i = 3; i >= 1; i--) {System.out.print("請輸入密碼:");int input1 = scanner.nextInt();//獲取輸入的密碼//驗證密碼,共三次機會if (input1 != psd.password) {System.out.println("密碼錯誤,請重新輸入,還有" + (i - 1) + "次機會");if (i == 1) {System.out.println("密碼錯誤,請取卡");return;}continue;} else {amount();return;}}}// 輸入金額部分public void amount() {System.out.println("0.手動輸入金額\t1.100元\t2.300元\t3.500元\t4.1000元\t5.3000元\t6.5000元");int num = scanner.nextInt();//獲取輸入的數字//用switch語句進行金額選擇switch (num) {case 0:System.out.print("請手動輸入金額(必須要100元的倍數,最低100元,最高不超過1000元)");money = scanner.nextInt();if (!(money % 100 == 0 && money > 0 && money < 1001)) {System.out.println("金額有誤,是否繼續(y/n)");money = 0;}break;case 1:money = 100;break;case 2:money = 300;break;case 3:money = 500;break;case 4:money = 1000;break;case 5:money = 3000;break;case 6:money = 5000;break;default:System.out.println("輸入有誤,是否繼續(y/n)");money = 0;break;}//在選擇結束后進入到判斷方法中decide();}public void decide() {// 根據金額扣除余額if (money > 0) {// 判斷是否余額大于等于要扣除的金額if (total > money) {// 可以正確取錢total -= money;System.out.println("提款成功,余額:" + total + ",是否繼續(y/n)");} else if (total == money) {// 可以取錢,結束程序total = 0;System.out.println("謝謝使用,請取卡");return;} else {// 不可以取錢System.out.println("余額不足,余額剩余" + total + ",是否繼續(y/n)");}} //獲取是否繼續選項String next = scanner.next();//對獲取的字符串進行判斷,如果繼續y就返回amount方法,否則輸入語句后退出此方法if (next.equals("y")) {amount();} else {System.out.println("交易取消,請取卡");return;}}
//測試類public static void main(String[] args) {Atm ac = new Atm();ac.ipsd();}
}


版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/188178.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息