对平台商品的上架,下架,修改价格
创建实体类
package com.hp.goods;
public class Goods {
private Integer id;
private String name;
private double prices;
private String desc;
public Goods() {
}
public Goods(Integer id, String name, double prices, String desc) {
this.id = id;
this.name = name;
this.prices = prices;
this.desc = desc;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrices() {
return prices;
}
public void setPrices(double prices) {
this.prices = prices;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
@Override
public String toString() {
return "Goods{" +
"id=" + id +
", name='" + name + '\'' +
", prices=" + prices +
", desc='" + desc + '\'' +
'}';
}
}
创建Counter对象,功能类
package com.hp.goods;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.util.Scanner;
public class Counter {
private int num;
Goods[] goods=new Goods[10];
public Counter(){
this.goods[0]=new Goods(1001,"巧克力",25,"美味可口,恋爱必备!");
this.goods[1]=new Goods(1002,"卫龙辣条",1,"隔壁小孩馋哭了!");
num=2;//相当于两个商品
}
//展示柜台所有商品
public void show(){
System.out.println("---柜台所有商品列表---");
if(this.num==0){
System.out.println("警告:柜台没有商品");
return;//返回方法
}
for (int i = 0; i <goods.length; i++) {
if(this.goods[i]!=null){
System.out.println(this.goods[i]);
}
}
}
//菜单列表
public void main(){
while (true){
System.out.println("---1,展示商品 2,上架商品---");
System.out.println("---3,下架商品 4,调整价格---");
System.out.println("---5,退出 ---");
//功能选择,控制台输入
System.out.println("--请输入功能序号");
int key= InputUntil.getNum();
switch (key){
case 1:show();break;
case 2:add();break;
case 3:delete();break;
case 4:update();break;
case 0:System.exit(0);
}
}
}
//调整价格
private void update() {
while (true) {
System.out.println("--请输入要修改价格的编号");
int goodsId = InputUntil.getNum();
//先找到对应商品的id
for (int i = 0; i < this.goods.length; i++) {
//查找对应商品的id
if (this.goods[i] != null && this.goods[i].getId() == goodsId) {
System.out.println("请重新输入新的价格:");
this.goods[i].setPrices(InputUntil.getNum());
System.out.println("--修改成功");
return;
}
}
System.out.println("--修改失败,请重新修改");
update();
return;
}
}
//下架商品
private void delete() {
System.out.println("--请输入下架商品的编号:");
int goodsId=InputUntil.getNum();
//先找对应商品的id
for (int i = 0; i <this.goods.length; i++) {
//查找对应id的商品
if(this.goods[i]!=null&&this.goods[i].getId()==goodsId){
//找到删除
this.goods[i]=null;
//商品数量减少
this.num--;
System.out.println("提示:商品下架成功!!!当前商品数量"+this.num);
return;//跳出方法
}
}
//如果没有找到商品,就会执行这里
System.out.println("---警告没有找到商品---");
}
//上架商品
private void add() {
if(this.num==this.goods.length){
System.out.println("--警告:柜台已经满,不能添加商品了");
}
System.out.println("--请输入商品id:");
int goodsId = InputUntil.getNum();
for (int i = 0; i <this.goods.length; i++) {
if(this.goods[i]!=null&&this.goods[i].getId()==goodsId){
System.out.println("--警告,当前编号已存在,请重新输入");
add();
return;//由于重复了,后续不在执行
}
}
//如果到这,说明id没有重复
System.out.println("--提示:商品id可以使用!!");
System.out.println("--请输入商品的名称:");
String name = new Scanner(System.in).next();
System.out.println("--请输入商品的价格:");
double price=InputUntil.getNum();
System.out.println("--请输入商品的描述");
String desc = new Scanner(System.in).next();
//把输入的信息装载到Goods对象
Goods newGoods = new Goods(goodsId, name, price, desc);
for (int i = 0; i <this.goods.length; i++) {
if(this.goods[i]==null){
this.goods[i]=newGoods;
this.num++;
System.out.println("--提示:商品上架成功!柜台数量"+this.num);
return;
}
}
}
}
创建InputUntil类
package com.hp.goods;
import java.util.Scanner;
/***
* 提供输入的方法
*/
public class InputUntil {
//获取功能序号
public static int getNum(){
int n=0;
try {
n=new Scanner(System.in).nextInt();
} catch (Exception e) {
//e.printStackTrace();
//如果输入非数字,就会抛出异常,被catch语句捕获,处理异常
System.out.println("--警告,输入非法数字!!!,请重新输入");
n=getNum();//递归
}
// if (n<0||n>5 ){
// System.out.println("--警告:非法命令!!请重新输入");
// n=getNum();//递归
// }
return n;//返回输入的数字
}
}
创建测试类,来进行功能测试
package com.hp.goods;
public class CounterTest {
public static void main(String[] args) {
Counter counter=new Counter();
counter.main();
}
}