鱼C论坛

 找回密码
 立即注册
查看: 2807|回复: 1

跟视频学习,自己做的一个食品管理系统,删除功能貌似不管用

[复制链接]
发表于 2018-1-29 16:41:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
/*实现一个食品管理系统,为啥我的删除功能只能是从集合类中从第一个开始删除,却不能根据自己需要进行删除*/
import java.util.*;
class Food{
        private String num;
        private String name;
        private int price;
        public void setNum(String num){
                this.num=num;
        }
        public String getNum(){
                return this.num;
        }
        public void setName(String name){
                this.name=name;
        }
        public String getName(){
                return this.name;
        }
        public void setPrice(int price){
                this.price=price;
        }
        public int getPrice(){
                return this.price;
        }
               
}
class Function{
        ArrayList arrList=new ArrayList();
        public void add(String num,String name,int price,Food foo1){//1.添加食品
                Food foo=new Food();
                foo.setName(name);
                foo.setNum(num);
                foo.setPrice(price);
                arrList.add(foo);
                System.out.println("*************添加食品成功*************");
        }
        public void getInformation(String i,Food foo){//2.查询食品信息
                int j;
                for(j=0;j<arrList.size();j++){
                        Food foo1=(Food)arrList.get(j);
                        if(foo1.getNum().equals(i)){
                                System.out.println("*************查询信息成功*************");
                                System.out.println("产品编号:"+foo1.getNum());
                                System.out.println("产品名称:"+foo1.getName());
                                System.out.println("产品价格:"+foo1.getPrice());
                                break;
                        }       
                }
                if(j==arrList.size())
                        System.out.println("查无此产品。");
        }
        public void updatePrice(String i,int price,Food foo){//3.修改食品价格
                for(int j=0;j<arrList.size();j++){
                        Food foo1=(Food)arrList.get(j);
                        if(foo1.getNum().equals(i)){
                                foo1.setPrice(price);
                                System.out.println("**************修改产品价格成功*************");
                                System.out.println("产品编号:"+foo1.getNum());
                                System.out.println("产品名称:"+foo1.getName());
                                System.out.println("产品价格:"+foo1.getPrice());
                                return;
                        }
                }
                System.out.println("查无此产品。");
        }
        public void delete(String i,Food foo){//4.删除食品
                int j;
                if(arrList.size()==0){
                        System.out.println("仓库中已经没有产品了");
                       
                }
                for(j=0;j<arrList.size();j++){
                        Food foo1=(Food)arrList.get(j);
                        if(foo1.getNum().equals(i)){
                                arrList.remove(j);
                                System.out.println("**************删除成功**************");
                                break;
                        }
                }
                if((j==arrList.size()&&(arrList.size()!=0))){
                        System.out.println("删除失败,仓库中没有这件产品");
                }                                       
        }
       
}



public class Test4_2 {
        public static void main(String[] args){
                Scanner in=new Scanner(System.in);
               
                Function func=new Function();
                Food foo=new Food();
                while(true){                       
                        System.out.println("*******请按以下提示选择功能*******");
                        System.out.println("添加食品请按1");
                        System.out.println("查找食品信息请按2");
                        System.out.println("修改食品价格请按3");
                        System.out.println("删除食品请按4");
                        System.out.println("添加食品请按0");
                        String choice=in.next();
                        if(choice.equals("1")){
                                System.out.print("请输入食品编号:");
                                String num=in.next();
                                System.out.print("请输入食品名称:");
                                String name=in.next();
                                System.out.print("请输入食品价格:");
                                int price=in.nextInt();
                                func.add(num, name, price, foo);                               
                                System.out.println(func.arrList.size());
                        }else if(choice.equals("2")){
                                System.out.print("请输入食品编号:");
                                String i=in.next();
                                func.getInformation(i, foo);
                        }else if(choice.equals("3")){
                                System.out.print("请输入食品编号:");
                                String i=in.next();
                                System.out.print("请输入食品价格:");
                                int price=in.nextInt();
                                func.updatePrice(i,price,foo);
                        }else if(choice.equals("4")){
                                System.out.print("请输入食品编号:");
                                String i=in.next();
                                func.delete(i, foo);
                        }else if(choice.equals("0")){
                                System.out.println("退出成功,感谢您的使用。。。");
                                System.exit(0);
                        }
                       
                       
                        else{
                                System.out.println("输入有误,请重新输入");
                        }
                               
                }
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-31 00:12:32 | 显示全部楼层
本帖最后由 海马濑人 于 2018-1-31 19:52 编辑

是可以删除的,只不过判断删除失败的条件有个小小的问题,问题代码如下
if((j==arrList.size()&&(arrList.size()!=0))){
                        System.out.println("删除失败,仓库中没有这件产品");
                }  

建议:能查到并且删除成功后输出 删除成功的提示  我调试过了确实删除了,
删除之后的对象没有了,如果删除失败那么还能在集合中查到
改进之处: 增删查改 都会需要查找,可以单独写个查询的方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 06:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表