两个String字符串:
num1="one,123.0|rt,678.0|two,21.0|shi,123.0"
num2="one,45.0|shi,78.0|two,89.0|yu,84.0"
我想得到的是:
num3="one,123.0|shi,123.0|two,21.0|yu,84.0"
num1与num2里面那个‘,’前面的字符相同,就把mun2 逗号 后面的数字改成num1逗号后面的数字。
需求是这样的,他们保存的是一组物品的id和价格,格式:(id,价格|id,价格)
现在num1里面的有些物品id可能和num2里面的物品id相同,当num1里物品价格改变时,相应的num2里物品的价格也要改变、
------解决方案--------------------
把num1字符串放入缓存中,把num1和num2字符串截取,得出【id,价格】的数组,遍历数组num1,循环内遍历num2,截取字符串得到id,判断num1中的id在num2中是否存在,得出缓存中NUM1数组这个ID对应的价格,如果缓存中的价格和NUM1中的价格不符,就把NUM1的价格更新到num2中
------解决方案--------------------
申明个Num类来转换字符串吧
package csdn;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
public class Num {
public HashMap<String, WuPin> wupins = new HashMap<String, WuPin>();
public Num(String num){
String[] strs = num.split("[
------解决方案--------------------
]");
for(String str : strs){
String[] str_wupin = str.split(",");
wupins.put(str_wupin[0], new WuPin(str_wupin[0], str_wupin[1]));
}
}
public String toString(){
String result = "";
Iterator<Entry<String, WuPin>> iter = wupins.entrySet().iterator();
while (iter.hasNext()) {
if (result.length() > 0){
result = result + "