//================================================================C // 株価移動平均の計算 (出力は日付が昇順に変更) // 移動平均日数はプログラム中で与える // Input File: kabuka.txt : プログラムと同じフォルダー // Output File: ido.txt : プログラムと同じフォルダー // 出力: 日付 終値 移動平均 //----------------------------------------------------------------C // javac FileComp1.java : classファイルの作成 // java FileComp1 : 実行 //----------------------------------------------------------------C // Written by Yasunori Ushiro (後 保範), 2011/10/03 // ( Waseda University, 早稲田大学 ) //================================================================C import java.io.*; import java.util.*; public class FileComp1 { public static void main (String[] args) throws Exception { String date[] = new String[2000]; int stock[][] = new int[2000][6]; String s; int ido = 5; //移動平均の日数 int k, j, n, NO; // 入力ファイルの定義 FileInputStream fi = new FileInputStream("kabuka.txt"); InputStreamReader in = new InputStreamReader(fi); BufferedReader b = new BufferedReader(in); // 出力ファイルの定義 FileOutputStream fo = new FileOutputStream("ido.txt"); PrintWriter q = new PrintWriter(fo,true); // データの入力及び格納 n=0; while ( (s = b.readLine()) != null) { StringTokenizer st = new StringTokenizer(s); NO=0; while (st.hasMoreTokens()) { String std = st.nextToken(); if(NO==0) { date[n] = std; } else { stock[n][NO-1] = Integer.parseInt(std); } NO++; } n++; } // 移動平均の計算(移動平均は整数に四捨五入) int up = (ido + 1)/2; for (k=n-ido; k>=0; k--) { int sum = 0; for (j=0; j=0; k--) { q.println(date[k]+" "+stock[k][3]+" "+stock[k][5]); } } }