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

IDEA 零钱通java小项目(面向对象OOP)

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

IDEA 零钱通java小项目(面向对象OOP)

package SmallChangeSys.oop;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

//该类 是完成零钱通的各个功能类
//使用面向对象编程 OOP
//将各个功能对应一个方法
public class SmallChangeSysOOP {
    //属性
    boolean loop = true;
    Scanner scanner = new Scanner(System.in);
    String key = "";
    String details = "----------零钱通明细-------------n";
    double money = 0;
    double balance = 0;
    String note = "";
    Date date = null; //表示日期
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");//可用于日期格式化
    //1.先完成显示菜单 并可以选择菜单,给出对应显示
    public void mainMenu(){
        do{
            System.out.println("========选择零钱通菜单=========");
            System.out.println("ttt1  零钱通明细");
            System.out.println("ttt2  收益入帐");
            System.out.println("ttt3  消   费");
            System.out.println("ttt4  退   出");
            System.out.println("请选择(1-4): ");
            key = scanner.next();

            //使用 switch 分支控制
            switch (key){
                case "1" :
                    this.detail();
                    break;
                case "2" :
                  this.income();
                  break;
                case "3" :
                   this.pay();
                   break;
                case "4" :
                   this.exit();
                   break;
                default:
                    System.out.println("选择有误,请重新选择");
            }
        }
        while (loop);
    }
    //完成零钱通明细
    public void detail(){
        System.out.println(details);
    }
    //完成收益入账
    public void income(){
        System.out.println("收益入帐金额");
        money = scanner.nextDouble();
        //money 的值范围应该校验  --> 一会再完善
        //老韩思路 编程思想
        //找出不正确的金额条件,然后给出提示,就直接break;
        if(money <= 0){
            System.out.println("收益入账金额范围需要 大于2 0");
            return; //退出方法,不再执行
        }
        balance += money;
        //拼接收益入账信息到details
        date = new Date();
        details += "n收益入账t"+ money + "t" + sdf.format(date) + "t" + balance;

    }
    public void pay(){
        System.out.println("消费金额");
        money = scanner.nextDouble();
        //money 的值范围应该校验  --> 一会再完善
        if(money <= 0 || money > balance){
            System.out.println("你的消费金额应该在 0 - "+ balance);
           return;
        }
        System.out.println("消费说明");
        note = scanner.next();
        balance -= money;
        date = new Date();
        details += "n"+ note + "t-" + money + "t" + sdf.format(date) + "t" + balance;


    }
    //退出
    public void exit(){
        String choice = "";
        while (true){
            System.out.println("你确定要退出吗? y/n");
            choice = scanner.next();
            if("y".equals(choice) || "n".equals(choice)){
                break;
            }
        }
        if(choice.equals("y")){
            loop = false;
        }
        System.out.println("4  退   出");
        loop = false;


    }
}

再写一个类引用

package SmallChangeSys.oop;


public class SmallChangeSysApp {
    public static void main(String[] args) {
        new SmallChangeSysOOP().mainMenu();
    }
}

结果部分贴图

 

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

版权所有 (c)2021-2022 MSHXW.COM

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