【面向过程编程】零钱通项目
生活随笔
收集整理的這篇文章主要介紹了
【面向过程编程】零钱通项目
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
實現(xiàn)效果:
?實現(xiàn)代碼:
import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner;/*** @className: SmallChangeSys* @date: 2021/12/23 15:05**/ public class SmallChangeSys {//main方法public static void main(String[] args) {SmallChangeSys smallChangeSys = new SmallChangeSys();Scanner scanner = new Scanner(System.in);boolean flag = true;String key = "";String details = "---------------零錢通明細---------------";double money = 0;double balance = 0;//余額Date date = new Date();//日期SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd HH:mm");String storeName = "";//消費說明char answer;do {//菜單System.out.println("\n---------------零錢通菜單---------------");System.out.println(" 1 零錢通明細 ");System.out.println(" 2 收益入賬 ");System.out.println(" 3 消費 ");System.out.println(" 4 退出 ");System.out.print("請選擇(1-4):");key = scanner.next();switch (key) {case "1":System.out.println(details);break;case "2":System.out.print("收益入賬金額:");money = scanner.nextDouble();/**找出不正確的金額條件,然后給出提示,就直接break**/if (money <= 0) { //入賬金額不能為負數(shù)System.out.println("入賬金額不能為負數(shù)...");break;}balance += money;//入賬后的余額date = new Date();//獲取當前日期//拼接信息到detailsdetails += "\n收益入賬\t" + "+" + money + "\t" +sdf.format(date) + "\t" + "余額:" + balance;break;case "3":System.out.print("消費說明:");storeName = scanner.next();System.out.print("消費金額:");money = scanner.nextDouble();/**編程思想:找出不正確的金額條件,然后給出提示,就直接break**/if (money > balance || money <= 0) {//消費金額不能大于余額System.out.println("您的消費金額應(yīng)該在0-" + balance);break;}balance -= money;//消費后的余額date = new Date();//獲取當前日期//拼接信息到detailsdetails += "\n" + storeName + "\t" + "-" + money +"\t" + sdf.format(date) + "\t" + "余額:" + balance;break;case "4": // do { // System.out.println("確認退出?y/n"); // answer = scanner.next().charAt(0); // if (answer == 'y') { // flag = false; // } // }while(answer != 'y' && answer != 'n');//輸入y/n才能退出循環(huán)/***建議使用下面的方法:一段代碼完成一個小功能,盡量不要混在一起*耦合性小,從代碼的閱讀性和擴展性來說都比較好**/while (true) {System.out.println("你確定要退出嗎?y/n");answer = scanner.next().charAt(0);if (answer == 'y' || answer == 'n') {break;}}if (answer == 'y') {flag = false;}break;default:System.out.println("輸入有誤,重新輸入。");}} while (flag);System.out.println("---------退出零錢通---------");} }總結(jié)
以上是生活随笔為你收集整理的【面向过程编程】零钱通项目的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【java】动态绑定机制
- 下一篇: 【OOP】零钱通项目