栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Java

韩顺平-零钱通项目

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

韩顺平-零钱通项目

一、项目需求说明: 使用Java开发零钱通项目,可以完成收益入账,消费,查看明细,退出系统等功能。 二、项目界面:

✏️步骤:
1.先完成显示菜单,并可以选择菜单,给出对应提示 2.完成零钱通明细 3.完成收益入账 4.完成消费 5.退出
➿ step1 菜单显示
        do {
            System.out.println("n=========零钱通菜单=========");
            System.out.println("tt1.零钱通明细");
            System.out.println("tt2.收益入账");
            System.out.println("tt3.消费情况");
            System.out.println("tt4.退   出");
 
            System.out.println("请选择1-4");
            key = scanner.next();
 
            switch (key){
                case "1":
         System.out.println("tt1.零钱通明细");
                    break;
                case "2":
            System.out.println("tt2.收益入账");
                   break;
                case "3":
              System.out.println("tt3.消费情况");
                   break;
                case "4":
              System.out.println("tt4.退   出");
                    break;
                default:
                    System.out.println("重选择");
            }
 
        }while (loop);
    }

➿ step2 收益入账(case 2)
(1)定义money和剩余的钱(balance)以及对应的日期; (2)SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm"); (3)money的值范围应该校验,找出不正确的金额条件,money<=0, 给出提示,直接break
        double money;
        double balance=0;
        Date date=null;//date是日期
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");
		String details="------------------零钱通明细----------------------------";
case "2":
                    System.out.println("收益入账金额");
                    money=scanner.nextDouble();
                  //money的值范围应该校验
                    //找出不正确的金额条件,给出提示,直接break
                    if (money<=0){
                        System.out.println("收益入账金额需要大于0");
                        break;
                    }
                    balance+=money;
                    //拼接收益信息到details
                    date=new Date();//获取当前日期
                    //System.out.println(sdf.format(date) );

                    details+="n收益入账t+"+money+"t"+sdf.format(date)+"t"+balance;
                    break;

➿ step3 消费情况(case 3)
(1)范围校验,找出金额不正确的情况, (money<=0||money>balance)
case "3":
                    System.out.println("消费金额");
                    money=scanner.nextDouble();
                    //范围校验,找出金额不正确的情况
                    if (money<=0||money>balance){
                        System.out.println("消费金额应该在0-"+balance);
                    }
                    System.out.println("消费说明");
                    note=scanner.next();
                    balance -= money;
                    //拼接消费信息到detail
                    date=new Date();
                    details+="n"+note+"t-"+money+"t"+sdf.format(date)+"t"+balance;
                    break;

➿ step4 退出(case 4)
(1)定义变量choice,接收用户输入 (2)使用while循环+break,输入y或者n,处理接收到的输入 (3)退出while后,在判断choice是y还是n,决定是否退出
 case "4":
  String choice="";
                    while (true){//要求用户必须输入y或者n,否则就一直循环
                    System.out.println("你确定要退出?y/n");
                    choice =scanner.next();
                    if ("y".equals(choice)||"n".equals(choice)){
                        break;
                    }
                    }
                    if (choice.equals("y")){
                        loop=false;
                }
                    break;
                default:
                    System.out.println("输入有误,请重新选择");
            }

完整代码:
package SmallChange;

import java.text.SimpleDateFormat;
import java.util.Scanner;
import java.util.Date;
public class SmallChangesys {
    //化繁为简
    //1.先完成显示菜单,并可以选择菜单,给出对应提示
    //2.完成零钱通明细
    //3.完成收益入账
    //4.完成消费
    //5.退出
    //6.用户输入4时,给出提示"你确定要退出?y/n,必须输入正确的y/n,否则循环进入指令,知道输入y/n
    public static void main(String[] args) {
        //定义变量
        boolean loop=true;
        Scanner scanner=new Scanner(System.in);
        String key=" ";
        //2.完成零钱通明细
        //(1)可以将收益入账和消费保存到数组
        //(2)可以使用对象
        //(3)简单的可以使用String拼接
        String details="------------------零钱通明细----------------------------";
        //3.完成收益入账
        double money;
        double balance=0;
        Date date=null;//date是日期
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");
        //4.完成消费
        //定义新变量,保存消费原因
        String note="";

        do {

            System.out.println("n==================零钱通菜单======================");
            System.out.println("tttt1 零钱通明细");
            System.out.println("tttt2 收益入账");
            System.out.println("tttt3 消     费");
            System.out.println("tttt4 退     出");

            System.out.println("请选择1-4");
            key=scanner.next();
            //使用switch分支控制
            switch (key){
                case "1":
                    System.out.println(details);
                    break;
                case "2":
                    System.out.println("收益入账金额");
                    money=scanner.nextDouble();
                  //money的值范围应该校验
                    //找出不正确的金额条件,给出提示,直接break
                    if (money<=0){
                        System.out.println("收益入账金额需要大于0");
                        break;
                    }

                    balance+=money;
                    //拼接收益信息到details
                    date=new Date();//获取当前日期
                    //System.out.println(sdf.format(date) );

                    details+="n收益入账t+"+money+"t"+sdf.format(date)+"t"+balance;
                    break;
                case "3":
                    System.out.println("消费金额");
                    money=scanner.nextDouble();
                    //范围校验,找出金额不正确的情况
                    if (C){
                        System.out.println("消费金额应该在0-"+balance);
                    }
                    System.out.println("消费说明");
                    note=scanner.next();
                    balance -= money;
                    //拼接消费信息到detail
                    date=new Date();
                    details+="n"+note+"t-"+money+"t"+sdf.format(date)+"t"+balance;
                    break;
                case "4":
                    //(1)定义变量choice,接收用户输入
                    //(2)使用while循环+break,输入y或者n,处理接收到的输入
                    //(3)退出while后,在判断choice是y还是n,决定是否退出
                    String choice="";
                    while (true){//要求用户必须输入y或者n,否则就一直循环
                    System.out.println("你确定要退出?y/n");
                    choice =scanner.next();
                    if ("y".equals(choice)||"n".equals(choice)){
                        break;
                    }
                    }
                    if (choice.equals("y")){
                        loop=false;
                }

                    break;
                default:
                    System.out.println("输入有误,请重新选择");
            }


        }while (loop);
            System.out.println("------------退出零钱通项目-----------------");

    }
}

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1039615.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号