アットウィキロゴ

分析あさひ

package asa;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
 
 
public class pro {
 
      int s,datanumber;
    String[] data=new String[160000];
String[] city=new String[24000];
 String[] dic=new String[24000];
 int[] point=new int[24000];
 int[] rank=new int[24000];
 int delta;
    public static void main(String[] args) {
        pro t=new pro();
    }
 
    pro(){
 
        readx("data.csv");
 
 
 int sx=0;
    for(s=2;s<datanumber+1;s++){
   String[] x=data[s].split(",");
   String pp="";
if(x.length>2)pp=x[2];
if(x[0].indexOf("2013")>-1)sx=sx+1;
if(x[0].indexOf("2013")>-1)city[sx]=pp;
 
    }
 int number=sx;
 delta=0;   
 
 for(s=1;s<number+1;s++){
     int h=0;
 for(sx=1;sx<delta+1;sx++){
 if(city[s].equals(dic[sx]))h=100;
 }    
 if(h<60)delta=delta+1;
  if(h<60)dic[delta]=city[s];
 }
 
 for(s=1;s<number+1;s++){
 for(sx=1;sx<delta+1;sx++){
 if(city[s].equals(dic[sx]))point[sx]=point[sx]+1;
 }    
 }
 
 
 ranking();
 
 
 for(s=1;s<51;s++){
 sx=rank[s];
System.out.println(dic[sx]); 
 }
 
 
    }
 
         void ranking(){ 
int r,s,sx,h; 
int[] ch=new int[6001];
double maxu;
 
for(r=1;r<delta+1;r++){ 
sx=0; 
maxu=-999999; 
for(s=1;s<delta+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; 
}
 
 
}
 
 
 
 
         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;
 
} 
 
}
最終更新:2016年08月19日 13:00