統計資料
今天做了一個統計資料的小程式,用到了arrayList 和array,DOM解析,File檔案和目錄建立:
package config;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class NewTimeDistribution {
private List<Integer> costList=new ArrayList<Integer>();
private int max;
private int interval=100;
private int arrayLength;
public int getMax() {
return max;
}
public int getArrayLength() {
return arrayLength;
}
public void setArrayLength(int max) {
this.arrayLength =max/interval+1;
}
public NewTimeDistribution() {
super();
}
public List<Integer> getCostList() {
return costList;
}
public void parseFile(String fileName) throws ParserConfigurationException, SAXException, IOException{
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder=dbf.newDocumentBuilder();
Document document=documentBuilder.parse(new File(fileName));
Element element=document.getDocumentElement();
NodeList items=element.getElementsByTagName("item");
for(int i=0;i<items.getLength();i++){
Element item=(Element) items.item(i);
NodeList results=item.getElementsByTagName("result");
for(int j=0;j<results.getLength();j++){
Element result=(Element) results.item(j);
String tag=result.getAttribute("tag");
if(!(tag.equals("init-player"))){
int cost=Integer.parseInt(result.getAttribute("cost"));
costList.add(cost);
}
}
}
}
public void maxCost(List<Integer> list){
this.max=list.get(0);
for(int index=1;index<list.size();index++){
if(max <list.get(index)){
max=list.get(index);
}
}
}
public int[] arrayData(List<Integer> list, int length){
int[] arrayCost=new int[length];
for(int index=0;index<list.size();index++){
arrayCost[list.get(index)/interval]++;
}
return arrayCost;
}
public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
StringBuilder sb=new StringBuilder();
NewTimeDistribution ntd= new NewTimeDistribution();
ntd.parseFile(args[0]);
List<Integer> costList=ntd.getCostList();
ntd.maxCost(costList);
int maxCost=ntd.getMax();
ntd.setArrayLength(maxCost);
int arrayLength=ntd.getArrayLength();
int[] arrayData=ntd.arrayData(costList, arrayLength);
for(int i=0;i<arrayData.length;i++){
System.out.println(100*(i+1)+"\t"+arrayData[i]);
sb.append(100*(i+1)+"\t"+arrayData[i]+"\n");
}
File file = new File(args[1]);
if (!file.exists()) {
if (!file.getParentFile().exists()) {
file.getParentFile().mkdirs();
}
file.createNewFile();
}
FileOutputStream out = new FileOutputStream(file);
out.write(sb.toString().getBytes());
out.flush();
out.close();
}
}
相關文章
- MYSQL 統計資料MySql
- Oracle資料庫的資料統計(Analyze)Oracle資料庫
- 【UV統計】海量資料統計的前世今生
- 統計:從計數到大資料大資料
- 統計資料庫中表大小資料庫
- 大量STATSPACK資料統計分析
- HootSuite:YouTube 廣告統計資料UI
- 父子節點資料統計
- 統計學與資料探勘
- “小資料”的統計學
- python資料統計之禪道bug統計Python
- 統計資料庫每天的資料增長量資料庫
- 作業系統統計資料分類作業系統
- 資料庫系統設計概述資料庫
- 6 收集資料庫統計資訊資料庫
- MySQL按時間統計資料MySql
- HootSuite:TikTok廣告統計資料UI
- MySQL資料庫審計系統MySql資料庫
- Enovy proxy中的資料統計
- 資料統計指令碼(彙總)指令碼
- HootSuite:LinkedIn廣告統計資料UI
- [Shell] awk 統計分組資料
- 簡單的資料表統計
- 統計資料出現次數
- Stats渲染資料統計視窗
- 1216 資料統計求和
- sql統計各種奇葩的資料庫表資料SQL資料庫
- oracle資料庫連續相同資料的統計方法Oracle資料庫
- 資料統計工具與常用的核心資料指標指標
- 對資料泵資料傳輸的時間統計
- oracle統計資訊 使用dbms_stats包收集統計資料Oracle
- UNIX下收集作業系統統計資料作業系統
- 資料分析 | 用 SeaTable 表格快速統計分析訂單資料
- es統計資料去除某個欄位的某些資料
- 用highcharts做資料統計
- 分庫資料如何查詢統計
- SQL Server統計資料庫中表大小SQLServer資料庫
- iOS 輕鬆使用 App 資料統計iOSAPP