现在编程遇见一个问题,要选几种价格,每次是不一样的,像超市购物,如何实现价格和的计算?现有教材都是i形式递增相加。请赐教!
Math.ceil(Math.random()*N) N表示你要求的数
double [] arr = new double[10];//10是书的本数
double sum = 0;//书的总价格
for (int i = 0; i < arr.length; i++) {
arr[i] = Math.ceil(Math.random()*5.2);//这个5.2是书的价格区间的最大值
sum += arr[i];
}
System.out.println(Arrays.toString(arr));
System.out.println(sum);
可以用Hashtable实现
Hashtable table = new Hashtable<>(); //key表示商品的编号,value是一个对象,包含字段(价格,购买数量)
比如现在添加一个 n本书,单价m
Object obj = table.get(n);
if(obj==null){//判断是否添加该商品
新建一个object对象,设置价格=m,数量=1,用table.put(n,object);
}else{
obj设置数量 +=1,
table.put(n,obj);
}
然后迭代table,遍历取出key,value,利用计算出 价格*购买数量的和就行啦
Set> set = table.entrySet();
Iterator> it = set.iterator();
double totalmoney = 0.00;
while(it.hasNext()){
Entry e = it.next();
对象 o = e.getValue();
totalmoney += o.价格*o.数量;
}
System.out.println(totalmoney);