アットウィキロゴ

しゅtっゆ

package database;
 
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.File;
import java.io.*;
 
 
public class pro {
   String[] data=new String[5000];
     int s,datanumber,number;
  String ren;
     String[] title=new String[5000000];
     String[] week=new String[5000000];
       String[] sta=new String[5000000];
     int[] y1=new int[500000];
     int[] m1=new int[500000];
       int[] y2=new int[500000];
     int[] m2=new int[500000];
       int[] h1=new int[500000];
     int[] mx1=new int[500000];
     int[] h2=new int[500000];
     int[] mx2=new int[500000];
      String[] code_sta=new String[5000000];
      int[] code_time=new int[5000000];
        String[] code=new String[5000000];
      String[] subdata=new String[50000];
 
 
    public static void main(String[] args) {
        pro test=new pro();
    }
 
    pro(){
 
        File f=new File("data");
        String[] fx=f.list();
 
        int delta=0;
 
        int tr=1;
        for(tr=1;tr<fx.length+1;tr++){
 
         code[tr]=fx[tr-1].replace(".txt","");   
 
        db sub=new db();
        sub.makedata(code[tr]);
        title[tr]=sub.title;
        week[tr]=sub.week;
        sta[tr]=sub.sta;
        ren=sub.ren;
        y1[tr]=sub.y1;
         m1[tr]=sub.m1;
        y2[tr]=sub.y2;
         m2[tr]=sub.m2;
         h1[tr]=sub.h1;
         mx1[tr]=sub.mx1;
       h2[tr]=sub.h2;
         mx2[tr]=sub.mx2;
 
 
         code_sta[tr]=namex(sta[tr]);
         code_time[tr]=hour(tr);
 
         int h=0;
 
         if(ren.equals("連続"))h=h+1;
          if(title[tr].length()>0)h=h+1;
          if(y2[tr]>1979)h=h+1;
         int j=0;
         if(y1[tr]==y2[tr])j=j+1;
          if(m1[tr]==m2[tr])j=j+1;
 
 
          if(j==2)h=0;
 
          if(h==3){
 
              delta=delta+1;
              subdata[delta]=title[tr]+","+code[tr]+","+sta[tr]+","+code_sta[tr]+","+week[tr]+","+y1[tr]+","+m1[tr]+","+y2[tr]+","+m2[tr];
              subdata[delta]=subdata[delta]+","+code_time[tr]+","+h1[tr]+","+mx1[tr]+","+h2[tr]+","+mx2[tr];
 
 
 
         System.out.println(subdata[delta]);
 
         }
 
 
        }
 
 
 
    }
 int hour1(int nx){
 
        int d1=60*(h1[nx]-12)+mx1[nx];
        int d2=60*(h2[nx]-12)+mx2[nx];
 
        int de;
 
        double minde=9999999999.9;
        int sline=0;
        int half=0;
        for(de=6;de<13;de++){
        double dex=(d1-60*de)*(d1-60*de);    
        if(dex<minde)sline=de;
        if(dex<minde)minde=dex;
        }
 
        for(de=6;de<13;de++){
        double dex=(d1-60*de-30)*(d1-60*de-30);    
         if(dex<minde)half=100;
        if(dex<minde)sline=de;
        if(dex<minde)minde=dex;
 
        }
 
 
        int j=0;
        if(sline==7)j=j+1;
        if(half>60)j=j+1;
        if(j==2)sline=71;
 
 
        return sline;
 
    }
    int hour(int nx){
 
        int cx=9999;
 
 
        int z=0;
         if(hour1(nx)==7)z=z+1;
         if(hour2(nx)==71)z=z+1;
        if(z==2)cx=71;
 
 
         z=0;
         if(hour1(nx)==71)z=z+1;
         if(hour2(nx)==8)z=z+1;
           if(z==2)cx=72;
 
 
 
        z=0;
         if(hour1(nx)==8)z=z+1;
         if(hour2(nx)==9)z=z+1;
           if(z==2)cx=8;
 
            z=0;
         if(hour1(nx)==9)z=z+1;
         if(hour2(nx)==10)z=z+1;
           if(z==2)cx=9;
 
         z=0;
         if(hour1(nx)==10)z=z+1;
         if(hour2(nx)==11)z=z+1;
           if(z==2)cx=10;
 
            z=0;
         if(hour1(nx)==7)z=z+1;
         if(hour2(nx)==8)z=z+1;
           if(z==2)cx=7;
 
 
 
 
 
            return cx;
    }
 
 
 
 
    int hour2(int nx){
 
        int d1=60*(h1[nx]-12)+mx1[nx];
        int d2=60*(h2[nx]-12)+mx2[nx];
 
        int de;
 
        double minde=9999999999.9;
        int sline=0;
        int half=0;
        for(de=6;de<13;de++){
        double dex=(d2-60*de)*(d2-60*de);    
        if(dex<minde)sline=de;
        if(dex<minde)minde=dex;
        }
 
        for(de=6;de<13;de++){
        double dex=(d2-60*de-30)*(d2-60*de-30);    
         if(dex<minde)half=100;
        if(dex<minde)sline=de;
        if(dex<minde)minde=dex;
 
        }
 
 
        int j=0;
        if(sline==7)j=j+1;
        if(half>60)j=j+1;
        if(j==2)sline=71;
 
 
        return sline;
 
    }
 
 
    int check(int nx){
 
        int ch=0;
 
        int h=0;
        if(y1[nx]==y2[nx])h=h+1;
        if(m1[nx]==m2[nx])h=h+1;
        if(h==2)ch=100;
 
 
        return ch;
    }
 
    int num_int(String str){
 
    int nx;
 
 
    nx=0;
 
 try{
 
    nx=Integer.parseInt(str);
 
 }catch (Exception e) {}
 
 return nx;
 
 
 
}
 
 
    String namex(String pp){
 
        String z="その他";
if(pp.equals("NTV"))z="日本";
 if(pp.equals("NHK"))z="nhk";     
 if(pp.equals("TBS"))z="tbs";
 if(pp.equals("NET"))z="朝日";    
if(pp.equals("CX"))z="フジ";
 if(pp.equals("KTV"))z="フジ";     
 if(pp.equals("ABC"))z="朝日";
 if(pp.equals("MBS"))z="tbs";
if(pp.equals("NHK GTV"))z="nhk";
 if(pp.equals("YTV"))z="日本";     
 if(pp.equals("TX"))z="東京";
 if(pp.equals("12CH"))z="東京";
if(pp.equals("EX"))z="朝日";
 if(pp.equals("ANB"))z="朝日";     
 
 return z;
    }   
 
 
}
 
 
package database;
 
 
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
 
 
public class db {
   String[] data=new String[5000];
     int s,datanumber,number;
    int h1,mx1,h2,mx2;
  String ren;
    int y1,m1,d1,y2,m2,d2;
     String week="";
      String sta="";
     String title="";
 
 
 
    void makedata(String code){
 
        readx("data/"+code+".txt");
 
 
        for(s=1;s<datanumber+1;s++){
        if(data[s].indexOf("◇テレビドラマデータベース◇")>-1)title=data[s];    
        }
 
        title=title.replace(" - ドラマ詳細データ - ◇テレビドラマデータベース◇","");
 
 
 
 
        for(s=1;s<datanumber+1;s++){
          if(data[s].indexOf("キー局")>-1)sta=data[s+1]; 
        }
 
 
 
        for(s=1;s<datanumber+1;s++){
          if(data[s].indexOf("放送曜日")>-1)week=data[s+1]; 
        }
 
        String time="";
 
        for(s=1;s<datanumber+1;s++){
          if(data[s].indexOf("放送時間")>-1)time=data[s+1]; 
        }
 
 
        String term="";
 
        for(s=1;s<datanumber+1;s++){
          if(data[s].indexOf("放送期間")>-1)term=data[s+1]; 
        }
 
        ren="";
 
        for(s=1;s<datanumber+1;s++){
          if(data[s].indexOf("連続/単発")>-1)ren=data[s+1]; 
        }
 
 
 
 
       if(time.length()>0){
        String[] x=time.split("-");
 
    String[] x1=x[0].split(":");
 
    if(x1.length==2){
    h1=num_int(x1[0]);
    mx1=num_int(x1[1]);
    }
             if(x.length>1){
             String[] x2=x[1].split(":");
 
             if(x2.length==2){
             h2=num_int(x2[0]);
             mx2=num_int(x2[1]);
             }
             }
       }
 
 
       if(term.length()>0){
              String[] t=term.split("~");
 
             String t1="";
             if(t.length>0)t1=t[0];
             String t2="";
             if(t.length==2)t2=t[1];
 
             String[] z1= t1.split("/");
 
             if(z1.length==3){
             y1=num_int(z1[0]);
             m1=num_int(z1[1]);
             d1=num_int(z1[2]);
             }
 
 
             if(t2.length()>1){
             String[] z2= t2.split("/");
             y2=num_int(z2[0]);
             m2=num_int(z2[1]);
             d2=num_int(z2[2]);
             }
 
       }
 
 
 
 
    }
 
 
 
     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年07月24日 11:25