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(" ","");
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