アットウィキロゴ

んp6

package book;
 
import tool.*;
 
public class pro {
 
   int s,datanumber;
   String[] data=new String[50000];
     String[] subdata=new String[50000];
      String[] name=new String[50000];
       String[] dic=new String[50000];
        String[] t=new String[50000];
       String[][] ts=new String[50000][50];
 
       int[] point=new int[50000];
     int[] number_dic=new int[500];
      double[][] v=new double[500][500];
     double[] vs=new double[1000];
      double[] a=new double[1000];
      int dicnumber;
       int[] rank=new int[50000];
 
      public static void main(String[] args) {
        pro t=new pro();
    }
 
    pro(){
 
        readfile sub=new readfile();
        sub.makedata("m.csv","UTF-8");
        data=sub.data;
        datanumber=sub.datanumber;
 
        for(s=2;s<datanumber+1;s++){
        String[] x=data[s].split(",");
        vs[s-1]=Double.parseDouble(x[5]);
        t[s-1]=x[2];
        }
 
 
 
         readfile sub2=new readfile();
        sub2.makedata("data.csv","UTF-8");
        data=sub2.data;
        datanumber=sub2.datanumber;
 
        int sx=0;
        for(s=1;s<datanumber+1;s++){
           if(data[s].indexOf("P")>-1)sx=sx+1;
            if(data[s].indexOf("P")>-1)subdata[sx]=data[s];
 
        } 
 
        int number=sx;
 
     for(s=1;s<number+1;s++){   
        String[] x=subdata[s].split(",");
        name[s]=x[2];
        point[s]=Integer.parseInt(x[1]);
 
    }
 
     dicnumber=0;
 
       for(s=1;s<number+1;s++){
   int h=0;   
  for(sx=1;sx<dicnumber+1;sx++){
  if(name[s].equals(dic[sx]))h=100;
  }
  if(h<50)dicnumber=dicnumber+1;
   if(h<50)dic[dicnumber]=name[s];
  }
 
 
  for(s=1;s<dicnumber+1;s++){
   int n=0;   
  for(sx=1;sx<number+1;sx++){
  if(name[sx].equals(dic[s]))n=n+1;
  int m=point[sx];
   if(name[sx].equals(dic[s]))v[s][n]=vs[m];
  if(name[sx].equals(dic[s]))ts[s][n]=t[m];
  }
  number_dic[s]=n;
  }
 
 
   for(s=1;s<dicnumber+1;s++){
  double a1=0;
   for(sx=1;sx<number_dic[s]+1;sx++){
    a1=a1+v[s][sx];
 
  }   
   a1=a1/number_dic[s];
 a[s]=a1;   
    }
 
     ranking();
     int tx;
 
     for(s=1;s<dicnumber+1;s++){
     sx=rank[s];    
    if(number_dic[sx]>4)  System.out.println(dic[sx]);
     for(tx=1;tx<number_dic[sx]+1;tx++){
if(number_dic[sx]>4)System.out.println(ts[sx][tx]+","+v[sx][tx]);    
     }
     }
 
 
 
 
 
 
 
 
    }
    void ranking(){
int s,sx,r;
int[] ch=new int[3000];
int h;
double maxp; 
 
for(r=1;r<dicnumber+1;r++){
maxp=0;
sx=0;
for(s=1;s<dicnumber+1;s++){
h=0;
if(a[s]>maxp)h=h+1;
if(ch[s]<60)h=h+1;
if(h==2)maxp=a[s];
if(h==2)sx=s;
}
rank[r]=sx;
ch[sx]=100;
}
 
 
 
}
 
 
}
 
最終更新:2016年08月03日 00:56