开发基于控制台的购书系统1具体要求如下:(1)输出所有图书的信息:包括每本图书的图书编号、图书名称、图书单价和库存数量。(2)顾客购买图书:根据提示输入图书编号来购买图书,并根据提示输入购买图书数量(用户必须连续购书三次)。(3)购书完毕后输出顾客的订单信息:包括订单号、订单明细、订单总额和订单日期。系统运行界面如图-1所示。图-1系统运行界面2、类的设计该系统中必须包括三个类,类名及属性设置如下。图书类(Book)图书编号(bookId)图书名称(bookName)图书单价(price)库存数量(storage)订单项类(OrderItem)图书名称(bookName)图书单价(price)购买数量(num)订单类(Order):订单号(orderId)订单总额(total)订单日期(date)订单项列表(items)3、具体要求及推荐实现步骤1、创建图书类,根据业务需要提供需要的构造方法和setter/getter方法。2、创建订单项类,根据业务需要提供需要的构造方法和setter/getter方法。3、创建订单类,根据业务需要提供需要的构造方法和setter/getter方法。4、创建测试类Test,实现顾客购买图书。A、获取所有图书信息并输出:创建至少三个图书对象并输出即可。B、顾客购买图书:顾客通过输入图书编号来购买图书,并输入购买数量。C、输出订单信息:包括订单号、订单明细、订单总额、订单日期。Java源代码:publicclassMian{publicstaticvoidmain(String[]args){Bookbook=newBook();book.list();book.orderItem();book.order();}}----------------------------------------------------------------------------importjava.util.Scanner;publicclassBook{Scannerin=newScanner(System.in);StringbookId[]=newString[50];StringbookName[]=newString[50];doubleprice[]=newdouble[50];intstorage[]=newint[50];Stringnumber[]=newString[50];intstor[]=newint[50];floattotal=0;intk=3;voidlist(){System.out.println(\t\t图书列表);System.out.println(图书编号\t图书名称\t\t图书单价\t库存数量);System.out.println(——————————————————————————————————————);bookId[0]=1;bookName[0]=精通CSS+DIV;price[0]=50.7;storage[0]=30;bookId[1]=2;bookName[1]=ASP.NET网页开发;price[1]=35.7;storage[1]=23;bookId[2]=3;bookName[2]=javascript入门;price[2]=37.7;storage[2]=12;for(inti=0;ik;i++){System.out.println(bookId[i]+\t+bookName[i]+\t+price[i]+\t+storage[i]);}System.out.println(——————————————————————————————————————);}voidorderItem(){for(inti=0;i3;i++){System.out.print(请输入图书编号选择图书:);number[i]=in.next();System.out.print(请输入购买图书数量:);stor[i]=in.nextInt();if(i==0||i==1){System.out.println(请继续购买图书。);}}}voidorder(){System.out.println(\t图书订单);System.out.println(图书订单号:00001);System.out.println(图书名称\t\t购买数量\t图书单价);System.out.println(—————————————————————————————————————————);for(inti=0;i3;i++){for(intj=0;j3;j++){if(number[i].equals(this.bookId[j])){System.out.println(bookName[j]+\t+stor[i]+\t\t+price[j]);total+=stor[i]*price[j];}}}System.out.println(—————————————————————————————————————————);System.out.println(订单总额:\t\t\t+total);java.util.Dateutildate=newjava.util.Date();System.out.println(日期:+utildate);}}