コード追加

package pp;
 
import java.io.*;
import java.io.IOException;
import java.io.InputStreamReader;
 
 
public class pro {
 
 
 String[] data=new String[100000];
    String[] datax=new String[400000];
 int s,datanumber;
    String[] subdata=new String[50000];
   String[] code=new String[60000];
    String[] subcode=new String[60000];
     String[] title=new String[60000];
    String[] sta=new String[100000];
    int[] year=new int[60000];
    int[] month=new int[60000];
    int[] day=new int[60000];
    String[] time=new String[100000];
    int number;
 
    public static void main(String[] args) {
        pro t=new pro();
    }
    pro(){
 
        readx("rate.csv");
 
        for(s=1;s<datanumber;s++){
        String[] x3=data[s+1].split(",");
       if(x3[1].indexOf("TBS")>-1)sta[s]="tbs";
       if(x3[1].indexOf("NHK")>-1)sta[s]="nhk";
       if(x3[1].indexOf("朝日")>-1)sta[s]="ex";
       if(x3[1].indexOf("日本")>-1)sta[s]="ntv";
       if(x3[1].indexOf("東京")>-1)sta[s]="tx";
       if(x3[1].indexOf("フジ")>-1)sta[s]="cx";
       String[] x4=x3[2].split("/");
       int p1=x4[2].indexOf("(");
       x4[2]=x4[2].substring(0,p1);
       year[s]=num_int(x4[0])+2000;
         month[s]=num_int(x4[1]);
           day[s]=num_int(x4[2]);
       time[s]=x3[3];
       p1=time[s].indexOf("-");
       time[s]=time[s].substring(0,p1);   
        title[s]=x3[0];
        }
 
 
 
        number=datanumber-1;
 
 
 
 
 
 
        int tr,tx;
        tx=1;
        for(tr=2013;tr<2017;tr++){
 
        readx(tr+".csv");
 
        for(s=1;s<datanumber;s++){
        tx=tx+1;
        datax[tx]=data[s+1];
 
        }
 
 
        }
 
        datanumber=tx;
 
 
 
        int trs;
 
   for(trs=1;trs<number+1;trs++){     
 
 
 int de=count(time[trs]);
 
 System.out.println(trs);
 
 
      int sx=0;
for(s=1;s<datanumber;s++){
    String[] x=datax[s+1].split(",");
    int y1=num_int(x[0]);
    int m1=num_int(x[1]);
    int d1=num_int(x[2]);
    String stap=x[5];
    int h=0;
    if(y1==year[trs])h=h+1;
    if(m1==month[trs])h=h+1;
    if(d1==day[trs])h=h+1;
    if(stap.equals(sta[trs]))h=h+1;
    if(h==4)sx=sx+1;
  if(h==4)subdata[sx]=datax[s+1]; 
 
}
       int number=sx;
 
       double minx=9999999;
 
       int sxs=0;
       for(s=1;s<number+1;s++){
     String[] x=subdata[s].split(",");     
     int c=count(x[3]); 
     double zz=(c-de)*(c-de);
     zz=Math.sqrt(zz);
      if(zz<minx)sxs=s;
     if(zz<minx)minx=zz;
        }
 
       String[] x1=subdata[sxs].split(","); 
 
       code[trs]=x1[6];
        subcode[trs]=x1[7];
 
   }
 
   writexml("code.csv");
 
 
    }
 
    void writexml(String file){ 
 
    int s,sx;
 
try{ 
PrintWriter pw = new PrintWriter (new BufferedWriter(new FileWriter(file))); 
 
for(s=1;s<number+1;s++){  
pw.println(title[s]+","+code[s]+","+subcode[s]); 
}
 
 
System.out.println("ファイルに書きこみました。"); 
pw.close(); 
} catch(IOException ep){ System.out.println("入出力エラーです。"); } 
 
 
} 
 
 
    int count(String tt){
 
        String[] x2=tt.split(":");
        int yy=num_int(x2[0]);
        int mm=num_int(x2[1]);
 
        return 60*yy+mm;
 
 
    }
 
 
 
 
        int num_int(String str){
 
    int nx;
 
    nx=0;
 
 try{
 
    nx=Integer.parseInt(str);
 
 }catch (Exception e) {}
 
 return nx;
 
 
 
}
 
 
    void readx(String file){
 
String str;
BufferedReader br;  
int s;
s=0;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));  
while((str = br.readLine()) != null) {  
s=s+1;
data[s]=str;  
}
br.close();
} catch (IOException e) {System.out.println(e);}  
 
datanumber=s;
 
} 
 
}
最終更新:2017年08月16日 02:55