零钱通-面向过程-面向对象 编程代码
1 package com.javase.project; 2 3 import java.text.SimpleDateFormat; 4 import java.util.Date; 5 import java.util.Scanner; 6 import java.util.logging.SimpleFormatter; 7 8 /** 9 * Copyright (C), 2018-2021, Mr.Lin 10 * Author: Mr.Lin 11 * Date: 2021/11/11 14:29 12 * FileName: SmallChangeSys 13 * Description: 零钱通项目 14 */ 15 public class SmallChangeSys { 16 public static void main(String[] args) { 17 18 //定义相关变量 19 boolean loop = true; 20 Scanner scanner = new Scanner(System.in); 21 String key = ""; 22 String details = "\n\t++++++++++++零钱通明细++++++++++++++\n"; 23 24 double money = 0; 25 double balance = 0; 26 Date date = null; 27 28 String note = ""; 29 30 31 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");//用于日期格式化 32 do { 33 System.out.println("\n===============零钱通菜单================\n"); 34 System.out.println("\t\t\t1 零钱通明细"); 35 System.out.println("\t\t\t2 收益入账"); 36 System.out.println("\t\t\t3 消费"); 37 System.out.println("\t\t\t4 退 出"); 38 System.out.print("请选择(1~4)"); 39 key = scanner.next(); 40 41 switch (key) { 42 case "1": 43 System.out.println(details); 44 break; 45 case "2": 46 System.out.println("收益入账金额:"); 47 money = scanner.nextDouble(); 48 //先找不正确的方法,再执行正确的 49 if (money <= 0) { 50 System.out.println("收益入账金额必须大于 0"); 51 break; 52 } 53 balance += money; 54 date = new Date();//获取当前日期 55 details += "收益入账:\t+" + money + "\t" + sdf.format(date) + "\t" + "余额:" + balance + "\n"; 56 break; 57 case "3": 58 System.out.println("消费的金额:"); 59 money = scanner.nextDouble(); 60 if (money <= 0||money>balance) { 61 System.out.println("消费金额应该在 0~"+balance+"以内"); 62 break; 63 } 64 System.out.println("请输入消费的说明:"); 65 note = scanner.next(); 66 balance -= money; 67 date = new Date();//获取当前日期 68 details += "\n" + note + "\t-" + money + "\t" + sdf.format(date) + "\t" + "余额:" + balance ; 69 70 break; 71 case "4": 72 //判断是否输入的(y/n) 73 String choice = ""; 74 while (true) { 75 System.out.println("你确定退出?(y/n)"); 76 choice = scanner.next(); 77 if ("y".equals(choice) || "n".equals(choice)) { 78 break; 79 } else { 80 System.out.println("请输入正确指令"); 81 } 82 } 83 //然后判断是否输入的y, 84 if (choice.equals("y")) { 85 loop = false; 86 } 87 break; 88 default: 89 System.out.println("您的输入有误,请重新输入"); 90 91 } 92 93 94 } while (loop); 95 System.out.println("您退出了零钱通~"); 96 } 97 }
1 package com.javase.project.oop; 2 3 import java.text.SimpleDateFormat; 4 import java.util.Date; 5 import java.util.Scanner; 6 7 /** 8 * Copyright (C), 2018-2021, Mr.Lin 9 * Author: Mr.Lin 10 * Date: 2021/11/11 16:00 11 * FileName: SmallChangeSysOOP 12 * Description: 13 */ 14 public class SmallChangeSysOOP { 15 //定义相关变量 16 boolean loop = true; 17 Scanner scanner = new Scanner(System.in); 18 String key = ""; 19 String details = "\n\t++++++++++++零钱通明细++++++++++++++\n"; 20 21 double money = 0; 22 double balance = 0; 23 Date date = null; 24 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");//用于日期格式化 25 26 String note = ""; 27 public void mainMenue(){ 28 do { 29 System.out.println("\n===============零钱通菜单================\n"); 30 System.out.println("\t\t\t1 零钱通明细"); 31 System.out.println("\t\t\t2 收益入账"); 32 System.out.println("\t\t\t3 消费"); 33 System.out.println("\t\t\t4 退 出"); 34 System.out.print("请选择(1~4)"); 35 key = scanner.next(); 36 37 switch (key) { 38 case "1": 39 this.detail(); 40 break; 41 case "2": 42 this.income(); 43 break; 44 case "3": 45 this.pay(); 46 break; 47 case "4": 48 this.exit(); 49 break; 50 default: 51 System.out.println("您的输入有误,请重新输入"); 52 } 53 } while (loop); 54 55 } 56 public void detail(){ 57 System.out.println(details); 58 } 59 public void income(){ 60 System.out.println("收益入账金额:"); 61 money = scanner.nextDouble(); 62 //先找不正确的方法,再执行正确的 63 if (money <= 0) { 64 System.out.println("收益入账金额必须大于 0"); 65 return; 66 } 67 balance += money; 68 date = new Date();//获取当前日期 69 details += "收益入账:\t+" + money + "\t" + sdf.format(date) + "\t" + "余额:" + balance + "\n"; 70 } 71 72 public void pay(){ 73 System.out.println("消费的金额:"); 74 money = scanner.nextDouble(); 75 if (money <= 0||money>balance) { 76 System.out.println("消费金额应该在 0~"+balance+"以内"); 77 return; 78 } 79 System.out.println("请输入消费的说明:"); 80 note = scanner.next(); 81 balance -= money; 82 date = new Date();//获取当前日期 83 details += "\n" + note + "\t-" + money + "\t" + sdf.format(date) + "\t" + "余额:" + balance ; 84 85 } 86 public void exit() { 87 //判断是否输入的(y/n) 88 String choice = ""; 89 while (true) { 90 System.out.println("你确定退出?(y/n)"); 91 choice = scanner.next(); 92 if ("y".equals(choice) || "n".equals(choice)) { 93 break; 94 } else { 95 System.out.println("请输入正确指令"); 96 } 97 } 98 //然后判断是否输入的y, 99 if (choice.equals("y")) { 100 loop = false; 101 } 102 } 103 }
1 package com.javase.project.oop; 2 3 /** 4 * Copyright (C), 2018-2021, Mr.Lin 5 * Author: Mr.Lin 6 * Date: 2021/11/11 16:16 7 * FileName: SmallChangeSesApp 8 * Description: 9 */ 10 public class SmallChangeSysApp { 11 public static void main(String[] args) { 12 new SmallChangeSysOOP().mainMenue(); 13 } 14 }

浙公网安备 33010602011771号