A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

6天的总结就是做出这个系统。其实知识点不多,但是如何熟练活泛的应用确实难点。好多思想都搞不懂。
但是最基本的功能还是有了。分享给大家了解了解。水果类就不传了,毕竟里边没有什么东西。只是几个变量
package cn.itast;

import java.util.ArrayList;
import java.util.Scanner;
import java.util.Stack;

/*
* 需求分析:创建水果类
*                 完成功能方法,键盘录入整数(enterNumber),小数,字符串(工具方法)
* */
public class FruitStore {

        /**
         *
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                //初始化集合
                ArrayList<FruitItem> list = new ArrayList<FruitItem>();
               
                //调用init方法进行对集合中的水果添加
                init(list);
               
                while(true){       
                        //提示用户要输入的操作
                        System.out.println("请输入您要进行的操作 :  1,查询水果                2.添加水果                3.删除水果                4.修改水果                5.退出系统");
                        //调用控制台输入的数字
                        int choose = enterNumber();
                        switch (choose) {
                        case 1:
                                showFruitItem(list);
                                break;
                        case 2:
                                addFruitItem(list);
                                break;
                        case 3:
                                delFruitItem(list);
                                break;
                        case 4:
                                updateFruitItem(list);
                                break;
                        case 5:
                                System.out.println("您已经退出系统!");
                                System.exit(0);
                               
                                break;
                        default :
                                System.out.println("你输入的有问题");
                                break;
                        }
                }
        }
       
        //定义 init方法初始化水果数据,并且添加到集合当中 需要数据ArrayList<FruitItem>
        public static void init(ArrayList<FruitItem> list){
                //创建水果类的对象
                FruitItem ll  = new FruitItem();
                ll.id = 2015;
                ll.name = "泰国大榴莲";
                ll.price = 65.0;
                ll.unit = "公斤";
               
                FruitItem pg  = new FruitItem();
                pg.id = 9285;
                pg.name = "美国大苹果";
                pg.price = 99.0;
                pg.unit = "公斤";
               
                FruitItem cm  = new FruitItem();
                cm.id = 9527;
                cm.name = "印度尼草莓";
                cm.price = 25.0;
                cm.unit = "公斤";
               
                //将已经定义好的水果信息存入到集合当中 通过集合中的add方法进行操作
                list.add(ll);
                list.add(pg);
                list.add(cm);
        }
        //查询功能    需要的数据是:ArrayList<FruitItem>,没有返回值   方法名字:showFruitItem
        public static void showFruitItem(ArrayList<FruitItem> list){
               
                //打印表头
                System.out.println("=======================================");
                System.out.println("水果编号        水果名称        水果价钱        计价单位");
                //对集合进行遍历
                for(int i  =0;i<list.size();i++){
                        FruitItem thisFruit = list.get(i);
                        System.out.println(thisFruit.id+"        "+thisFruit.name+"        "+thisFruit.price+"        "+thisFruit.unit);
                }
        }
        //添加功能  需要的数据是:ArrayList<FruitItem> ,没有返回值  方法名字是:addFruitItem
        public static void addFruitItem(ArrayList<FruitItem> list){
                //创建一个新的对象
                FruitItem newItem = new FruitItem();
                //提示用户输入水果编号
                System.out.println("请输入新水果的编号:");
               
                //判断输入的编号是否已经存在  
                int id = enterNumber();//获得输入的编号
                //遍历集合,查看是否与每一个集合里边的编号重复
                for (int i = 0; i < list.size(); i++) {
                        FruitItem thisItem = list.get(i);//将集合返回给水果类
                        //进行比较
                        if(id == thisItem.id){
                                System.out.println("您输入的ID在超市中已经存在,添加失败");
                                return;
                        }
                }
                       
                newItem.id = enterNumber();//输入ID
                System.out.println("请输入新水果的名称 ");
                newItem.name = enterString();//输入名称
                System.out.println("请输入新水果的价钱 ");
                newItem.price = enterDouble();//输入价钱
                System.out.println("请输入新水果的单位 ");
                newItem.unit = enterString();//输入单位
               
                //对商品进行添加
                list.add(newItem);
        }
       
        //删除功能  需要的数据类型  : ArrayList<FruitItem>  返回类型  无 方法名字delFruitItem
        public static void delFruitItem(ArrayList<FruitItem> list){
                System.out.println("请输入您要删除的编号 ");
                //通过调用enterNumber方法手动输入数字
                int id = enterNumber();
                //对集合进行遍历
                for (int i = 0; i < list.size(); i++) {
                        //遍历集合,将每一次的值赋到水果类当中
                        FruitItem newItem = list.get(i);
                        //进行比较
                        if (newItem.id == id ) {
                               
                                //如果满足条件进行删除,调用删除方法
                                list.remove(i);
                                return;
                        }
                }
                System.out.println("没有找到您要删除的编号,请重新输入");
        }
        //修改功能  需要的数据类型是ArrayList 返回值类型 是 void 方法名字是:updateFruitItem
        public static void updateFruitItem(ArrayList<FruitItem> list){
               
                System.out.println("请输入您要修改的数字编号");
                //调用输入整数的方法
                int id = enterNumber();
                //对数组进行遍历
                for (int i = 0; i < list.size(); i++) {               
                        FruitItem newItem = list.get(i);
                        if (newItem.id ==  id ) {
                                System.out.println("请输入新的名称");
                                newItem.name = enterString();
                                System.out.println("请输入新的价钱");
                                newItem.price = enterDouble();
                                System.out.println("请输入新的单位");
                                newItem.unit = enterString();
                                return;
                        }
                }
                System.out.println("没有找到您要修改的数据编号");
               
        }
        //-------------------工具包--------------------------------------
        //键盘录入整数,不需要数据   有返回值  方法名enterNumber
        public static int enterNumber(){
        Scanner sc = new Scanner(System.in);
        int enterNumber = sc.nextInt();
                return enterNumber;
        }
       
        //键盘录入小数, 不需要传入数据   有返回值为double  方法名 enterDouble
        public static Double enterDouble(){
                Scanner sc = new Scanner(System.in);
                double enterDouble = sc.nextDouble();
                return enterDouble;
        }
       
        //键盘录入字符串,不需要传入数据  有返回值  为 String类型    方法名 : enterString 用nextLine()方法接收一行
        public static String enterString(){
                Scanner sc = new Scanner(System.in);
                String enterString = sc.nextLine();
                return enterString;
        }
       
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马