零钱通Java

import java.util.ArrayList;
import java.util.Scanner;

class Pocket{
    private double money = 0 ;
    public Pocket(){

    }
    public double getMoney(){
        return money;
    }
    public void setMoney(double money){
        this.money = money;
    }
}
class MytoolsPocket {
    public MytoolsPocket(){
    }
    public  void showPocket(ArrayList<Pocket> list, double[] arr){
        System.out.println("------明细------");
        for(int i=0;i< list.size();i++){
            if(arr[i] >0) {
                System.out.println("收益入帐\t" + arr[i] + "\t2024年8月11日" +"\t余额\t"+list.get(i).getMoney());
            }else{
                System.out.println("消费\t" + arr[i] + "\t2024年8月11日" +"\t余额\t" + list.get(i).getMoney());
            }
        }
    }
     public void MakeMoney(ArrayList<Pocket> list, Scanner sc, int pivot, double[] arr){
        System.out.println("输入你要增加的money:");
         while(true){
             if(sc.hasNextDouble()) {
                 double money  = sc.nextDouble();
                 arr[pivot] =money;
                 if(money >0){
                     //为了保证可以管理多个pocket实例,保证里面至少有一个元素。
                     Pocket p =new Pocket();
                     if(list.isEmpty()){
                         p.setMoney(money);
                     }else{
                         p.setMoney(money + list.get(list.size()-1).getMoney());
                     }
                     list.add(p);
                     break;
                 }else{
                     System.out.print("输入无效,请输入大于零的数字");
                     sc.next();
                 }
             }
         }
    }

    public void consumeMoney(ArrayList<Pocket> list,Scanner sc,int pivot,double[] arr){
        System.out.println("输入你要减少的money");
        while(true){
           if(sc.hasNextDouble()) {
               double money  = sc.nextDouble();
               arr[pivot] =money;
               if(money <0){
                   //为了保证可以管理多个pocket实例,保证里面至少有一个元素。
                   Pocket p =new Pocket();
                   if(list.isEmpty()){
                       p.setMoney(money);
                   }else{
                       p.setMoney(money + list.get(list.size()-1).getMoney());
                   }
                   list.add(p);
                   break;
               }else{
                   System.out.print("输入无效,请输入大于零的数字");
                   sc.next();
               }
           }

        }
    }
    public void PocketMenu(){
        System.out.println("-----零钱通-----");
        System.out.println("1收益入账");
        System.out.println("2.消费");
        System.out.println("3.零钱明细");
        System.out.println("4.退 出");
    }
}
public class PocketMoney {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        ArrayList<Pocket> list = new ArrayList<>();
        double[] arr =new double[100];
        int pivot = 0;
        MytoolsPocket mytools  = new MytoolsPocket();
        boolean flag = true;
        while(flag){
           mytools.PocketMenu();
           int choice = sc.nextInt();
            switch(choice){
                case 1:
                    mytools.MakeMoney(list,sc,pivot,arr);
                    pivot ++;
                    break;
                case 2:
                    mytools.consumeMoney(list,sc,pivot,arr);
                    pivot++;
                    break;
                case 3:
                    mytools.showPocket(list,arr);
                    break;
                case 4:
                    flag = false;
                    break;
                default:
                    System.out.println("无效选项");
            }
        }
        sc.close();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值