零钱通-面向过程-面向对象 编程代码

 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 }
资源来源哔哩哔哩韩顺平Java
  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 }
面向对象编程(OOP)
 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 }
调用OOP

 

 

 

posted @ 2021-11-11 16:30  骄傲的林先生  阅读(198)  评论(0)    收藏  举报