一。Counter
package java2;
import javax.naming.Name;
import java.util.Scanner;
public class Counter {
private Goods[]goodses = new Goods[10];
int num=10;
public Counter(){
this.goodses[0]=new Goods(1001,"巧克力",25,"美味可口,恋爱必备!");
this.goodses[1]=new Goods(1002,"卫龙辣条",1,"隔壁小孩馋哭了!");
num=2;//相当于两个商品
}
public void show(){
for (Goods gd: goodses){
if (gd !=null){
System.out.println(gd);
}
}
}
public void main(){
System.out.println("----");
System.out.println("------------------1.展示商品 2.上架商品---------");
System.out.println("------------------3.下架商品 4.调整价格---------");
System.out.println("------------------0 退出 -----------------");
System.out.println("-->请输入功能编号");
//选择功能 控制台输入
int key = InputUtils.getGoodsId();
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() {
/*
*
* */
System.out.println("请输入要修改的id:");
int id2 = InputUtils.getGoodsId();
for(int i = 0; i<this.goodses.length;i++){
if (this.goodses[i].getId()!=id2){
update();
System.out.println("id错误请重新输入:");
return;//跳出方法
}else{
//找到对应商品 接着执行
System.out.println("请输入想要修改的价格:");
double price = InputUtils.getPrice();
for (int j = 0; j<this.goodses.length;i++){
if (this.goodses[j].getPrice()!=price){
this.goodses[j].setPrice(price);
System.out.println(" 修改完毕。。数据更新为:"+this.goodses[i]);
return;//跳出方法
}
}
}
}
}
//删除
private void delete() {
System.out.println("-->请输入要删除的商品编号:");
int goodsId = InputUtils.getGoodsId();
//第一件事 找到商品id对象
for (int i = 0; i < this.goodses.length; i++) {
if (this.goodses[i].getId()==goodsId){
//找到以后删除
this.goodses[i] = null;
System.out.println("-->提示:下架成功!! 当前商品数量"+this.num);
//商品数量-1
this.num--;
//还需要继续循环?
return;//跳出方法(只有找到商品才执行)
}
}
//如果没有商品 就会执行到这里
System.out.println("-->:没有找到商品!!");
}
//添加
private void add() {
if (this.num==this.goodses.length){
System.out.println("-->警告:柜台已满,不能再添加商品了");
return;
}
System.out.println("请输入商品id:");
int goodsId = InputUtils.getGoodsId();
//丰富 id 不能重复
for (int i=0;i<this.goodses.length;i++){
if (this.goodses[i]!=null&&this.goodses[i].getId()==goodsId){
System.out.println("-->警告:当前编号已存在!!请重新输入");
add();
return;//由于重复 后续不再执行
}
}
//程序走到这里说明没有重复、
System.out.println("-->提示:商品id可以使用!!");
System.out.println("请输入商品名称:");
String name = new Scanner(System.in).next();
System.out.println("-->请输入商品价格");
double price = InputUtils.getPrice();
System.out.println("->请输入商品描述");
String desc = new Scanner(System.in).next();
//把输入的信息装到goods对象
Goods newGoods=new Goods(goodsId, name, price, desc);
}
}
二。 CounterTest 测试
package java2;
public class CounterTest {
public static void main(String[] args) {
Counter counter=new Counter();
counter.show();;
counter.main();
}
}
三。InputUtils 粘贴 复制
package java2;
import java.util.Scanner;
/**
* 提供一些输入的方法
*/
public class InputUtils {
/**
* 获取我们的功能序号
* @return
*/
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();//递归
}
//必须是0-4
if(n<0||n>4){
System.out.println("--警告:非法命令!!请重新输入");
n = getNum();//递归
}
return n;//返回输入的数字
}
/**
* 获取输入的商品编号
* @return
*/
public static int getGoodsId(){
int n = 0;
try {
n = new Scanner(System.in).nextInt();
} catch (Exception e) {
//e.printStackTrace();
//如果输入非数字,就会抛出异常,被catch语句捕获,在这里处理异常
System.out.println("-->警告:输入非法数字!!请重新输入");
n = getGoodsId();//递归
}
return n;//返回输入的数字
}
/**
* 获取输入的商品编号
* @return
*/
public static double getPrice(){
double n = 0;
try {
n = new Scanner(System.in).nextDouble();
} catch (Exception e) {
//e.printStackTrace();
//如果输入非数字,就会抛出异常,被catch语句捕获,在这里处理异常
System.out.println("-->警告:输入非法数字!!请重新输入");
n = getPrice();//递归
}
return n;//返回输入的数字
}
}
四。Goods 万物之始
package java2;
/**
* 用来描述商品信息的实体类
*
*/
public class Goods {
private int id;// 商品编号
private String goodsName;// 商品名称
private double price;// 商品价格
private String desc;// 商品描述
public Goods() {
}
public Goods(int id, String goodsName, double price, String desc) {
this.id = id;
this.goodsName = goodsName;
this.price = price;
this.desc = desc;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getGoodsName() {
return goodsName;
}
public void setGoodsName(String goodsName) {
this.goodsName = goodsName;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
@Override
public String toString() {
return "Goods{" +
"id=" + id +
", goodsName='" + goodsName + '\'' +
", price=" + price +
", desc='" + desc + '\'' +
'}';
}
}