アットウィキロゴ

ranking ya

package dp;
 
import tool.*;
 
public class pro {
 
    int s,datanumber;
    String[] data=new String[5000];
  String[] wiki=new String[50000];
     String[] part=new String[50000]; 
    String[] name=new String[50000];
     String[] code=new String[50000];
      String[] codex=new String[50000];
 
     String[] dic_name=new String[50000];
     String[] dic_wiki=new String[50000];
     int[] point=new int[5000];
  int[] rank=new int[5000];
     int dicnumber;
       String[] dic_code=new String[50000];
    public static void main(String[] args) {
     pro t=new pro();   
    }
 
    pro(){
 
 
         readfile sub5=new readfile();
   sub5.makedata("data.csv","UTF-8");
   data=sub5.data;
   datanumber=sub5.datanumber;
 
      for(s=2;s<datanumber+1;s++){
   String[] x=data[s].split(",");
   code[s-1]=x[2];
   part[s-1]=x[3];
   wiki[s-1]="";
   name[s-1]=x[4];
   if(x.length==7)wiki[s-1]=x[6];
      }
 
      int h,sx;
 
      dic_wiki[0]="";
 
 
      dicnumber=0;
 
 for(s=1;s<datanumber;s++){
     h=0;
 for(sx=0;sx<dicnumber+1;sx++){
 if(wiki[s].equals(dic_wiki[sx]))h=100;
 }
 if(h<50)dicnumber=dicnumber+1;
 if(h<50)dic_wiki[dicnumber]=wiki[s];
 if(h<50)dic_name[dicnumber]=name[s];
 } 
 
 
 System.out.println(dic_name[1]);     
   System.out.println(dic_wiki[1]);    
 
   int tr;
   for(tr=1;tr<dicnumber+1;tr++){
 
   sx=0;
    for(s=1;s<datanumber;s++){
  if(wiki[s].equals(dic_wiki[tr]))sx=sx+1;
  if(wiki[s].equals(dic_wiki[tr]))codex[sx]=code[s];
      }
    int numberx=sx;  
 
 
  int number=0;
 for(s=1;s<numberx+1;s++){
     h=0;
     for(sx=1;sx<number+1;sx++){
 if(codex[s].equals(dic_code[sx]))h=100;
 }
 if(h<50)number=number+1;
 if(h<50)dic_code[number]=code[s];
 }      
 
 point[tr]=number;
 
 
   }
 
 
   ranking();
 
   for(s=1;s<101;s++){
   sx=rank[s];
   System.out.println(s+","+dic_name[sx]+","+point[sx]);
   }
 
 
 
 
 
    }
     void ranking(){ 
 
int r,s,sx,h; 
int[] ch=new int[80000];
double maxu;
 
    for (r = 1; r < 101; r++) {
        sx = 0;
        maxu = -999999;
        for (s = 1; s < dicnumber + 1; s++) {
            h = 0;
            if (point[s] > maxu) h = h + 1;
            if (ch[s] < 50) h = h + 1;
            if (h == 2) maxu = point[s];
            if (h == 2) sx = s;
        }
        rank[r] = sx;
        ch[sx] = 100;
    }
 
 
 
}
 
最終更新:2017年06月13日 19:53