游戏金币4_operation操作_GameCurrencyImpl

3 篇文章 0 订阅
package com.itheima.operation;
import com.itheima.domain.GameCurrency;
import com.itheima.utils.IDUtils;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Scanner;
public class GameCurrencyImpl implements BasicOperation{
    //静态修饰的 在方法区,它们都共享这一个index
    //static int index = 1;(第一种方式)
    @Override
    public void addInfo(Scanner sc, ArrayList<GameCurrency> list) {
        /*   键盘录入游戏金币的信息
         *  封装成金币对象
         *  添加到list集合中
         * */
        //1.键盘录入游戏金币的信息
        System.out.println("请输入游戏名称:");
        String name = sc.next();
        System.out.println("请输入游戏大区:");
        String area = sc.next();
        System.out.println("请输入游戏商家:");
        String business = sc.next();
        System.out.println("请输入游戏数量:");
        int count = sc.nextInt();
        System.out.println("请输入起售金额:");
        double price = sc.nextDouble();
        //2.封装成金币对象
        GameCurrency gameCurrency = new GameCurrency();
        gameCurrency.setGameName(name);
        gameCurrency.setGameArea(area);
        gameCurrency.setGameBusiness(business);
        gameCurrency.setCount(count);
        gameCurrency.setStartingAmount(price);
       /* gameCurrency.setId(index);//(第一种方式)
        index++;*/

       //IDUtils如果初始值为0,那么++在前 (IDUtils.++id)
        gameCurrency.setId(IDUtils.id++);
       /* gameCurrency.setId(IDUtils.id);
        IDUtils.id++;*/ //(两种方法)

        //private String gameRegisterDate;(因为String格式要转换)
        //记录当前的日期,并转成字符串格式
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String format = sdf.format(date);
        gameCurrency.setGameRegisterDate(format);
        //3.添加到集合中
        list.add(gameCurrency);
        System.out.println("数据成功保存!");
    }

    @Override
    public void updateInfo(Scanner sc, ArrayList<GameCurrency> list) {
        if(list == null || list.size() == 0){
            System.out.println("暂无数据,请先添加");
            return;
        }
        System.out.println("请输入要修改的游戏编号:");
        int id = sc.nextInt();
        //去集合中查询是否有该编号
        for (GameCurrency gameCurrency : list) {
            int id2 = gameCurrency.getId();
            if(id == id2){//因为是int类型,所以用==。(String类型,用 "id".equals(id2))
                //有,打印该游戏金币的信息
                IDUtils.printOne(gameCurrency);
                //没有,则让用户录入新值
                System.out.println("请输入新游戏名称[保留原值输入0]");
                String newName = sc.next();
                System.out.println("请输入新游戏大区[保留原值输入0]");
                String newArea = sc.next();
                System.out.println("请输入新商家名称[保留原值输入0]");
                String newBusiness = sc.next();
                System.out.println("请输入新上架数量[保留原值输入0]");
                int newCount = sc.nextInt();
                System.out.println("请输入新起售金额[保留原值输入0]");
                double newPrice = sc.nextDouble();
                //当用户输入的不是 0 时,才赋新值
                if(!"0".equals(newName)){//(String类型,用 !"0".equals(newName))
                    gameCurrency.setGameName(newName);
                }
                if(!"0".equals(newArea)){
                    gameCurrency.setGameArea(newArea);
                }
                if(!"0".equals(newBusiness)){
                    gameCurrency.setGameBusiness(newBusiness);
                }
                if(0!=newCount){//newCount为int类型,所以用0 !=
                    gameCurrency.setCount(newCount);
                }
                if(0!=newPrice){//newPrice为double类型,所以用0 !=
                    gameCurrency.setStartingAmount(newPrice);
                }
                System.out.println("数据修改成功!!!");
                return;//结束方法,不让后面的代码执行啦
            }
        }
        //没有,提示没有该编号
        System.out.println("没有"+id+"编号!");
    }

    @Override
    public void findInfo(Scanner sc, ArrayList<GameCurrency> list) {
        if(list == null || list.size() == 0 ){
            System.out.println("暂无数据,请先添加");
            return;//不会往下执行了
        }
        IDUtils.printList(list);//如果有数据的话,调用这个工具类的方法
    }

    @Override
    public void deleteInfo(Scanner sc, ArrayList<GameCurrency> list) {
        if(list == null || list.size() == 0){
            System.out.println("暂无数据,请先添加");
            return;
        }
        System.out.println("请输入要删除的游戏编号:");
        int id = sc.nextInt();
        //去集合中查询是否有该编号
        for (GameCurrency gameCurrency : list) {
            int id2 = gameCurrency.getId();
            if(id == id2){
                //有,打印该游戏金币的信息
                IDUtils.printOne(gameCurrency);
                //提示用户是否要删除
                System.out.println("是否要删除该数据y/n?");
                String choice = sc.next();
                if("y".equals(choice)){
                    //删除
                    list.remove(gameCurrency);
                    System.out.println("删除成功!");
                }else{
                    //不删
                    System.out.println("已取消该操作!");
                }
                return;//结束该方法,不让后面的代码运行
            }
        }
        //没有,提示没有该编号
        System.out.println("没有"+id+"编号!");
    }
}

*********************************************************
1. 游戏币信息管理    2.游戏账号信息管理    3.退出
*********************************************************
请输入功能编号:
1
===============【游戏币信息管理】======================
1.添加信息  2.修改信息  3.查询信息  4.删除信息  5.返回
=======================================================
请输入您的选择:
地下城
输入有误!!!
===============【游戏币信息管理】======================
1.添加信息  2.修改信息  3.查询信息  4.删除信息  5.返回
=======================================================
请输入您的选择:
1
请输入游戏名称:
地下城
请输入游戏大区:
上海
请输入游戏商家:
腾讯
请输入游戏数量:
11
请输入起售金额:
89.9
数据成功保存!
===============【游戏币信息管理】======================
1.添加信息  2.修改信息  3.查询信息  4.删除信息  5.返回
=======================================================
请输入您的选择:
3
--------------------------------------------------
1.编号 2.名称 3.大区 4.商家 5.上架时间 6.数量 7.金额
    1 地下城 上海 腾讯 2023-02-16 11 89.9
--------------------------------------------------
===============【游戏币信息管理】======================
1.添加信息  2.修改信息  3.查询信息  4.删除信息  5.返回
=======================================================
请输入您的选择:
2
请输入要修改的游戏编号:
1
-------------------【查询结果】--------------------
1.编号 2.名称 3.大区 4.商家 5.上架时间 6.数量 7.金额
    2 地下城 上海 腾讯 2023-02-16 11 89.9
-------------------------------------------------
请输入新游戏名称[保留原值输入0]
0
请输入新游戏大区[保留原值输入0]
0
请输入新商家名称[保留原值输入0]
0
请输入新上架数量[保留原值输入0]
0
请输入新起售金额[保留原值输入0]
0
数据修改成功!!!
===============【游戏币信息管理】======================
1.添加信息  2.修改信息  3.查询信息  4.删除信息  5.返回
=======================================================
请输入您的选择:
4
请输入要删除的游戏编号:
1
-------------------【查询结果】--------------------
1.编号 2.名称 3.大区 4.商家 5.上架时间 6.数量 7.金额
    2 地下城 上海 腾讯 2023-02-16 11 89.9
-------------------------------------------------
是否要删除该数据y/n?
y
删除成功!
===============【游戏币信息管理】======================
1.添加信息  2.修改信息  3.查询信息  4.删除信息  5.返回
=======================================================
请输入您的选择:
6
输入有误!!!
===============【游戏币信息管理】======================
1.添加信息  2.修改信息  3.查询信息  4.删除信息  5.返回
=======================================================
请输入您的选择:
5
返回到一级菜单!
*********************************************************
1. 游戏币信息管理    2.游戏账号信息管理    3.退出
*********************************************************
请输入功能编号:
3
感谢使用,再见!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值