アットウィキロゴ

de888

package sei;
 
 
 
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[500000];
   String[] adr=new String[5000];
     String[] date=new String[5000];
        String[] name=new String[500000];
 String[] namex=new String[500000];
 int[] year=new int[60000];
 int[] month=new int[60000];
 int[] day=new int[60000];
 int[] rank=new int[60000];
 int[] point=new int[60000];
    public static void main(String[] args) {
        pro rw=new pro();
    }
 
    pro(){
 
        readx("data.csv");
 
            String j="→ ♥ →";
 
        for(s=2;s<datanumber+1;s++){
 
    String[] x=data[s].split(",");
 name[s]="";
    if(x.length>1)name[s]=x[1].replace(j,"");
 
    String str=x[0];
    int p1=str.indexOf("年");
    int p2=str.indexOf("月");
    int p3=str.indexOf("日");
   if(p1>-1){
    String strx=str.substring(0,p1);
   year[s]=numx(strx);
   strx=str.substring(p1+1,p2);
   month[s]=numx(strx);
  strx=str.substring(p2+1,p3);
   day[s]=numx(strx);
   name[s]=name[s].replace("&nbsp;","");
   name[s]=change(name[s]); 
   }
   if(year[s]==0){
   year[s]=year[s-1];    
   month[s]=month[s-1];    
   day[s]=day[s-1];    
   } 
   }
 
  for(s=2;s<datanumber+1;s++){
        point[s]=500*year[s]+40*month[s]+day[s];
  if(name[s].length()<1)point[s]=0;  
  }
 
  ranking();
 
  for(s=1;s<datanumber+1;s++){
   int sx=rank[datanumber-s+1];
   System.out.println(year[sx]+","+month[sx]+","+day[sx]+","+name[sx]);
  }
 
 
 
    }
 
 
    void ranking(){ 
int r,s,sx,h; 
int[] ch=new int[59001];
double maxu;
 
for(r=1;r<datanumber+1;r++){ 
sx=0; 
maxu=-999999; 
for(s=1;s<datanumber+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; 
}
 
 
}
 
 
 int numx(String str){
 
    int nx;
 
    nx=0;
 
 try{
 
    nx=Integer.parseInt(str);
 
 }catch (Exception e) {}
 
 return nx;
 
 
 
}
 String change(String str){
 
        int n;
        for(n=1;n<11;n++){
        str=rev(str);    
        }
 
        str=str.replace(" ","");
 
        return str;
    }
 
 String rev(String str){
 
        if(str==null)str="";
 
        int p1=str.indexOf("<");
        int p2=str.indexOf(">",p1);
        String strx="";
        if(p2>-1)strx=str.substring(p1,p2+1);
        str=str.replace(strx,"");
 
        return str;
    }    
 
 
 
 
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月24日 15:08