采用java语言,使用了集合(数组+链表+哈希表)来进行存储.动态规划.(XATU)
问题陈述:
一朵花的价格是2元。一个花瓶的价格是5 元。为了吸引顾客,商店提供了一组优惠商品价
商品有2种,依次分别为编号,需要购买的数量,单价
优惠方案有2种,三朵花的价格是5元而不是6元.购买1个花和两个花瓶只需要十元.
存储思路
数组ArrayList里面存储的都是LinkedList
数组存放对应的优惠方案,每个位置存储的链表中存储的都是Entry{A,B}
A是在该优惠组合中,商品的编号,B是需要的数量
也就是LinkList中放的是一个接一个的Entry,就是在该优惠组合中队各种商品数目的要求.
HashMap中存储的键值对,key对应的是优惠方案的ID,value是优惠方案的价格.
一、用户输入
先输入商品信息,然后输入优惠套餐.
public void getRequest() {
//让用户输入商品信息
System.out.print("请输入商品的总个数:");
Integer num = in.nextInt();
Integer i;//得到用户输入的信息
while (num > 0){
System.out.println("请输入商品ID:");
i = in.nextInt();
Integer id = i;
System.out.println("请输入商品需求数量:");
i = in.nextInt();
request[id-1] = i;
System.out.println("请输入商品单价:");
i = in.nextInt();
price[id-1] = i;
System.out.println("商品ID "+id+" 需求数量 "+request[id]+" 单价 "+price[id]+" 添加成功!!!");
num--;//num减少一次,还需要输入num-1个商品;
}