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
感谢使用,再见!