当前位置: 代码迷 >> Java相关 >> java 循环代码求改,该如何解决
  详细解决方案

java 循环代码求改,该如何解决

热度:59   发布时间:2016-04-22 21:05:12.0
java 循环代码求改
一张表格:
编号:A                           数量:10
编号:A                           数量:20
编号:B                           数量:30
编号:C                           数量:40
编号:C                           数量:50
编号:C                           数量:60
编号:D                           数量:70
编号:获取的值              数量:手动录入的值
编号:获取的值              数量:手动录入的值
编号:获取的值              数量:手动录入的值
编号是从数据库中取出来的    数量是自己填写的

现在我想循环A 的数量有多少个,然后显示出来
比如:  编号A,数量:30
            编号B,数量:30
            编号C,数量:150
            编号D,数量:70

请问java循环怎么写


求一下代码怎么修改
private void submit() {
int count = 0;
String demoNo = "";
for (int i = 0; i < subVos.size(); i++) {
demoNo = subVos.get(i).getSerialNub().toString();  //编号    数据库获取的值
String number = subVos.get(i).getEditView().getText().toString();//数量    手动录入的值
int k = 0;
if("".equals(number)){
k = 0;
}else{
k = Integer.parseInt(number);
}
count = count+k;
System.out.print("编号:"+ demoNo +"总数量"+count);
}
}

------解决方案--------------------

Map<String,Integer> demoMap = new HashMap<String,Integer>();


for(xxDto sv:subVos){
if(demoMap.get(sv.getSerialNub())==null){
demoMap.put(sv.getSerialNub(), sv.getEditView());
}else{
int num = demoMap.get(sv.getSerialNub())+sv.getEditView();
demoMap.put(sv.getSerialNub(), num);
}
}

for(String key:demoMap.keySet()){
System.out.print("编号:"+ key +"总数量"+demoMap.get(key));
}


------解决方案--------------------
这是以你的基础上改的,其实1楼已经说了核心部分了

private void submit() {
int count = 0;
String demoNo = "";
Map<String,Integer> map = new HashMap<String, Integer>();
for (int i = 0; i < subVos.size(); i++) {
demoNo = subVos.get(i).getSerialNub().toString();  //编号    数据库获取的值
String number = subVos.get(i).getEditView().getText().toString();//数量    手动录入的值
int k = 0;
if("".equals(number)){
k = 0;
}
else{
k = Integer.parseInt(number);
}
//用Map分组记录数量
if(map.get(demoNo)!=null){
map.put(demoNo, map.get(demoNo)+k);
}
else{
map.put(demoNo, k);
}
//count = count+k;
//System.out.print("编号:"+ demoNo +"总数量"+count);
}
for(String key : map.keySet()){
System.out.println("编号:" + key +"总数量" + map.get(key));
}
}