欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java实例项目零钱通的实现流程,

来源: javaer 分享于  点击 48349 次 点评:279

Java实例项目零钱通的实现流程,


目录
  • 老韩思路:
  • 一些说明
  • SmallChangeSys用来写main方法代码如下
  • 具体说明各个方法的作用:
    • publicvoidmenu()方法
    • voiddetailed_()方法
    • publicvoidinput()方法
    • publicvoidoutput()方法
  • SmallChangeSysOOP完整代码
    • 一些图片

      注意:本项目来自B站韩顺平老师 点此跳转

      完整代码请看这里:gitee

      点击这里 GitHub链接

      如图:

      老韩思路:

      (1)可以把收益入账和消费,保存到数组中(但目前学到的数组是定长的)

      (2)可以使用对象

      (3)可以使用String拼接

      完成收益入账,完成功能驱动程序员增加新的变化的代码

      (1)要接收收益入账的金额,并更新余额

      (2)拼接好字符串

      (3)找到时间如何输出,并且修改其输出格式

      我用的字符串拼接

      效果图

      **

      一些说明

      **:创建一个包 com.project.money.oop

      然后创建两个类 SmallChangeSys和SmallChangeSysOOP

      SmallChangeSys 用来写main方法代码如下

      package com.project.money.oop;
      
      public class SmallChangeSys {
          public static void main(String[] args) {
              SmallChangeSysOOP p=new SmallChangeSysOOP();
              p.menu();
          }
      }

      SmallChangeSysOOP用来实现具体功能

      代码如下:

      package com.project.money.oop;
      
      import java.text.SimpleDateFormat;
      import java.util.Date;
      import java.util.Scanner;
      public class SmallChangeSysOOP {
          private  double in_money=0;//当前流动的钱
          private double balance=0;//余额
          private String detailed="------------零钱通明细--------------";
          private Date date = null;
          //可以用于日期格式化的
          SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
      public void menu(){};
      //1 零钱通明细
       public void detailed_(){};
       //2 收益入账"
       public void input(){};
       //3消费
          public void output(){};
      
      }

      具体说明各个方法的作用:

      public void menu()方法

      public void menu(){//菜单
              boolean loop=true;
              Scanner scanner = new Scanner(System.in);
              while(loop){//循环展示菜单
                  System.out.println("\n============oop零钱通菜单==============");
                  System.out.println("\t\t1 零钱通明细");
                  System.out.println("\t\t2 收益入账");
                  System.out.println("\t\t3 消费");
                  System.out.println("\t\t4 退" + "\t" + "出");
                  System.out.print("请选择1-4:");int key= scanner.nextInt();//选择;
                  switch (key){
                      case 1:detailed_();break;
                      case 2:input();break;
                      case 3:output();break;
                      case 4:System.out.println("\t\t程序已经退出");loop=false;break;
                  }
      
              }
          }

      void detailed_()方法

      public void detailed_(){
              System.out.println(detailed);//直接输出字符
          }

      public void input()方法

      public void input(){//收益入账
              Scanner scanner = new Scanner(System.in);
              System.out.println("请输入金额:");
              this.in_money=scanner.nextDouble();
      
              while(in_money<0){
                  System.out.println("======输入有误======");
                  System.out.println("是否重新输入?Y(是)或 N(否) ");//可能点错了不是输入
                  String in=scanner.next();//是否重新输入
                  if(in.equals("n")||in.equals("N")){
                      System.out.println("返回主页面中....");
                      /*****************************************/
                      try {
                          Thread.sleep( 1000 );//暂停1秒提升用户感受
                      } catch (Exception e){}
                      /*******************************************/
                      return;//退出输入
                  }
      
                      System.out.println("请输入金额:");
                      this.in_money=scanner.nextDouble();
              }
              this.balance+=this.in_money;
              String beizhu="";
              date = new Date();
              System.out.println("请输入备注:");
              beizhu=scanner.next();
              this.detailed+="\n收益入帐\t+" + this.in_money + "\t" + sdf.format(date) +
                      "\t余额:" + this.balance+ "  备注:" +beizhu;
          }

      **

      public void output()方法

      **

       public void output(){
              System.out.println("请输入金额:");
              Scanner scanner = new Scanner(System.in);
              in_money=scanner.nextDouble();
              if(balance<in_money){
                  System.out.println("余额不足,请充值");
                  return;
              }
              while(in_money<0){
                  System.out.println("输入错误,请重输");
                  in_money=scanner.nextDouble();
                  if(balance<in_money){
                      System.out.println("余额不足,请充值");
                      return;
                  }
              }
              this.balance-=in_money;
              System.out.println("请输入备注:");
              String beizhu=scanner.next();
              this.detailed+="\n余额支出\t-" + this.in_money + "\t" + sdf.format(date) +
                      "\t余额:" + this.balance+ "  备注:" +beizhu;
      
          }

      SmallChangeSysOOP完整代码

      package com.project.money.oop;
      
      import java.text.SimpleDateFormat;
      import java.util.Date;
      import java.util.Scanner;
      public class SmallChangeSysOOP {
          private  double in_money=0;//当前流动的钱
          private double balance=0;//余额
          private String detailed="------------零钱通明细--------------";
          private Date date = null;
          //可以用于日期格式化的
          SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
      
          public void menu(){//菜单
              boolean loop=true;
              Scanner scanner = new Scanner(System.in);
              while(loop){//循环展示菜单
                  System.out.println("\n============oop零钱通菜单==============");
                  System.out.println("\t\t1 零钱通明细");
                  System.out.println("\t\t2 收益入账");
                  System.out.println("\t\t3 消费");
                  System.out.println("\t\t4 退" + "\t" + "出");
                  System.out.print("请选择1-4:");int key= scanner.nextInt();//选择;
                  switch (key){
                      case 1:detailed_();break;
                      case 2:input();break;
                      case 3:output();break;
                      case 4:System.out.println("\t\t程序已经退出");loop=false;break;
                  }
      
              }
          }
          //1 零钱通明细
          public void detailed_(){
              System.out.println(detailed);
          }
          //2 收益入账"
          public void input(){//收益入账
              Scanner scanner = new Scanner(System.in);
              System.out.println("请输入金额:");
              this.in_money=scanner.nextDouble();
      
              while(in_money<0){
                  System.out.println("======输入有误======");
                  System.out.println("是否重新输入?Y(是)或 N(否) ");//可能点错了不是输入
                  String in=scanner.next();//是否重新输入
                  if(in.equals("n")||in.equals("N")){
                      System.out.println("返回主页面中....");
                      /*****************************************/
                      try {
                          Thread.sleep( 1000 );//暂停1秒提升用户感受
                      } catch (Exception e){}
                      /*******************************************/
                      return;//退出输入
                  }
      
                      System.out.println("请输入金额:");
                      this.in_money=scanner.nextDouble();
              }
              this.balance+=this.in_money;
              String beizhu="";
              date = new Date();
              System.out.println("请输入备注:");
              beizhu=scanner.next();
              this.detailed+="\n收益入帐\t+" + this.in_money + "\t" + sdf.format(date) +
                      "\t余额:" + this.balance+ "  备注:" +beizhu;
          }
          //3消费
          public void output(){
              System.out.println("请输入金额:");
              Scanner scanner = new Scanner(System.in);
              in_money=scanner.nextDouble();
              if(balance<in_money){
                  System.out.println("余额不足,请充值");
                  return;
              }
              while(in_money<0){
                  System.out.println("输入错误,请重输");
                  in_money=scanner.nextDouble();
                  if(balance<in_money){
                      System.out.println("余额不足,请充值");
                      return;
                  }
              }
              this.balance-=in_money;
              System.out.println("请输入备注:");
              String beizhu=scanner.next();
              this.detailed+="\n余额支出\t-" + this.in_money + "\t" + sdf.format(date) +
                      "\t余额:" + this.balance+ "  备注:" +beizhu;
      
          }
      
      
      }

      一些图片

      到此这篇关于Java实例项目零钱通的实现流程的文章就介绍到这了,更多相关Java 零钱通内容请搜索3672js教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持3672js教程!

      您可能感兴趣的文章:
      • Java毕业设计实战项目之宠物商城系统的实现流程
      • Java毕业设计实战项目之在线服装销售商城系统的实现流程
      • Java毕业设计实战项目之仓库管理系统的实现流程
      • Java实战项目之校园跑腿管理系统的实现
      • Java实战项目练习之球馆在线预约系统的实现
      • Java 实战项目之家政服务平台系统的实现流程
      • Java 实战项目之学生信息管理系统的实现流程
      • Java 实战项目之毕业设计管理系统的实现流程
      相关栏目:

      用户点评