java吧 关注:1,214,508贴子:12,660,457
  • 4回复贴,共1

求救一个问题

只看楼主收藏回复

public class MapList {
public static void main(String[] args){
List<Map<String,Integer>> list=new ArrayList<>();
Map<String,Integer> map0=new HashMap<>();
map0.put("英镑",8);
map0.put("美元",6);
map0.put("欧元",7);
map0.put("人民币",1);
list.add(map0);
Map<String,Integer> map1=new HashMap<>();
map1.put("人民币",1000);
map1.put("欧元",7000);
map1.put("美元",6000);
map1.put("英镑",8000);
list.add(map1);
Map<String,Integer> resultMap=new HashMap<>();
Set set=null;
Iterator it=null;
for (int i=0; i<list.size(); i++){
set=list.get(i).keySet();
it=set.iterator();
while (it.hasNext()){
resultMap.put(it.next().toString(),0);
}
}
String key="";
int sum=0;
for (int i=0;i<list.size();i++){
set=list.get(i).keySet();
it=set.iterator();
while (it.hasNext()){
key=it.next().toString();
sum+=resultMap.get(key)*list.get(i).get(key);
resultMap.put(key,sum);
}
}
System.out.println(resultMap);
}
}
怎么计算乘法


IP属地:北京1楼2023-08-16 11:08回复
    得到的结果都是0


    IP属地:北京2楼2023-08-16 11:09
    回复
      你的第一个for里面,resultMap.put(it.next().toString(),0);这里resultMap.put了0进去,之后第二个循环里sum+=resultMap.get(key)*list.get(i).get(key);resultMap.get出来的都是0,0乘任何数都为0


      IP属地:云南3楼2023-08-16 11:22
      收起回复
        不如截图


        IP属地:上海来自iPhone客户端4楼2023-08-16 17:55
        回复