为cashier设计一个超市收银方法

3.为Cashier设计一个收银方法sales(),实现该方法流程(使用循环)
(1)首先打印出所有商品信息,提示用户输入商品ID,输入字符S代表输入结束,输入字符E代表退出;如果用户输入S,流程转至步骤(4);如果用户输入E,则方法使用return返回;输入其他字符,则默认为商品ID,流程转至步骤
(2)用户输入商品ID后,查找商品集合是否有该ID商品,没有则提示没有这个商品ID,回到流程(1);有打印该商品西信息,并提示用户输入数量。
(3)用户输入商品数量后,需要创建一个销售明细对象,添加到销售记录表中,然后打印当前销售记录表的所有销售明细,然后流程回到步骤(1)
(4)打印所有销售列表中的销售明细,计算销售明细的总价,打印应收取的总价,然后等待用户输入任意字符回车,用户输入后,清空销售明细记录集合,流程转回步骤(1)。
4.为Cashier设计一个addProduct方法,用于添加商品到商品列表中,使用多态方式,让用户有两种通过不同类型文件添加商品,第一种方式是通过ProductTxtFileReader类的对象,添加.txt文件的商品信息到商品双列结合中;
第二种是通过ProductCsvFileReader类的对象,添加.csv文件的商品信息到商品双列结合中
5.为Cashier设计一个运行方法run,完成以下流程
(1)调用登录方法,如果登录失败,则方法直接返回,程序退出。
(2)进入主程序循环,打印菜单,菜单包括:1.收银,2.录入商品,3.退出。
(3)用户输入1,则调用sales方法;用户输入2,则调用addProduct方法,用户输入3,则终止循环,用户输入其他无效,循环继续打印菜单选项让用户选择。
6.为Cashier类添加一个main方法,该方法用于启动程序,在main方法中,创建Cashier对象,然后调用run方法。