我正在尝试写一堆输出写入文件,但只有listOfValues的最后一个值才会被写入 . 我搜索了其他提出这个问题的人,并尝试将newValue放入List并在附加模式下打开一个文件,但我仍然只得到listOfValues的最后一个值 .
List <Integer> keys = new ArrayList<Integer> (hashMap.keySet());
List<Integer> p = new ArrayList<Integer> ();
Collections.sort(keys);
double sum =0.0;
//for(Map.Entry<Integer,Integer> entry: hashMap.entrySet())
//for(int newValue2: newValue1) {
// double
// }
for(int key: keys){
PrintWriter pw = new PrintWriter(new FileOutputStream("test.csv"),true);
StringBuilder sb = new StringBuilder();
sb.append("h");
sb.append(',');
sb.append("hN");
sb.append('\n');
double value = hashMap.get(key);
List <Double> listOfnewValues = new ArrayList<Double> ();
double newValue = (double) (value/numOfSimulations);
for(int i=0;i<keys.size();i++) {
double newValue2 = (double) (value/numOfSimulations);
listOfnewValues.add(newValue2);
}
//System.out.print(key+" : "+ newValue+"test");
for(int value1: keys) {
sb.append(value1);
sb.append(',');
sb.append(newValue);
sb.append("\n");
}
/* for(int value1 : keys) {
sb.append(',');
sb.append(newValue);
sb.append("\n");
}*/
pw.write(sb.toString());
pw.close();
for (double i = 0; i < newValue; ++i) {
System.out.print("*");
}
System.out.println();
//sum+=newValue;
}
System.out.println("total sum ="+ sum);
}