Java求均价

public void number() {
String number = "15.02,15.37,15.25,15.35,14.75,15.25,15.26,39539533,594284325.94,253162,15.25,50100,15.24,25360,15.23,113400,15.22,72600,15.21,176670,15.26,113319,15.27,271209,15.28,83041,15.29,306000,15.30,2009-11-13,15:05:54";
String[] arr = number.split(",");
Map<String, T> map = new HashMap<String, T>();
for (int i = 0; i < arr.length; i++)
map.put(arr[i], T);

}
根据上面的字符串,写个Kline的类!要求(15.02+15.37)/2,(15.37+15.25)/2,一直到最后面。急!!!!

第1个回答  2009-11-15
public void Kline() {
String number = "15.02,15.37,15.25,15.35,14.75,15.25,15.26,39539533,594284325.94,253162,15.25,50100,15.24,25360,15.23,113400,15.22,72600,15.21,176670,15.26,113319,15.27,271209,15.28,83041,15.29,306000,15.30,2009-11-13,15:05:54";
String[] arr = number.split(",");
for (int i = 0; i < arr.length; i++)
double temp = (Double.parseDouble(arr[i])+Double.parseDouble(arr[i+1]))/2;
System.out.println(temp);
}
第2个回答  2009-11-15
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class Kline {
Map<String, BigDecimal> map = null;
public void number() {
String number = "15.02,15.37,15.25,15.35,14.75,15.25,15.26,39539533,594284325.94,253162,15.25,50100,15.24,25360,15.23,113400,15.22,72600,15.21,176670,15.26,113319,15.27,271209,15.28,83041,15.29,306000,15.30"; //+
//",2009-11-13,15:05:54";为啥有日期?!!!
String[] arr = number.split(",");
map = new HashMap<String, BigDecimal>();
for (int i = 0; i < arr.length; i++)
map.put(arr[i], new BigDecimal(arr[i]));
}
public String getAvg(){
Set<String> keys = map.keySet();
BigDecimal avgNumber = new BigDecimal("0");
for(Iterator<String> it=keys.iterator();it.hasNext();){
BigDecimal number = map.get(it.next());
avgNumber = avgNumber.add(number);
}
avgNumber = avgNumber.divide(new BigDecimal(String.valueOf(keys.size())));

return avgNumber.toString();
}
public static void main(String args[]){
Kline kline = new Kline();
kline.number();
System.out.println(kline.getAvg());
}
}

问题 1 为啥有日期?
2 “要求(15.02+15.37)/2,(15.37+15.25)/2,一直到最后面”啥意思 我求的可是全部平均和
3 java精度要注意 double也不够精确
相似回答