import tool.readfile;
class rou{
String[] data=new String[50000];
double[][] prate=new double[200][10];
double mrate[][]=new double[100][100];
double wrate[][]=new double[100][100];
double drate[][]=new double[100][100];
double mrourate[][]=new double[100][100];
double wrourate[][]=new double[100][100];
double drourate[][]=new double[100][100];
int s,datanumber;
int year,age;
int n2;
double n1;
int m,n;
void makedata(String file){
readfile sub=new readfile();
sub.makedata(file,"UTF-8");
data=sub.data;
datanumber=sub.datanumber;
for(s=1;s<datanumber+1;s++){
String[] x=data[s].split(",");
m=Integer.parseInt(x[0]);
n=Integer.parseInt(x[1]);
prate[m][n]=Double.parseDouble(x[2]);
}
for (n=1;n<12;n++){
mrate[n][1]= prate[n][1];
mrate[n][2]= prate[n][2];
mrate[n][3]= prate[n][3];
mrate[n][4]= prate[n][4];
}
for (n=1;n<12;n++){
wrate[n][1]= prate[n+11][1];
wrate[n][2]= prate[n+11][2];
wrate[n][3]= prate[n+11][3];
wrate[n][4]= prate[n+11][4];
}
for (n=1;n<12;n++){
drate[n][1]= prate[n+22][1];
drate[n][2]= prate[n+22][2];
drate[n][3]= prate[n+22][3];
drate[n][4]= prate[n+22][4];
}
for (year=6;year<12;year++){
for (age=15;age<70;age++){
n1 = (year - 6) / 6 ;
n2 =(int)((age - 10) / 5);
mrourate[year][age] = mrate[n2][1] + n1 * (mrate[n2][2] - mrate[n2][1] );
wrourate[year][age] = wrate[n2][1] + n1 * (wrate[n2][2] - wrate[n2][1] );
drourate[year][age] = drate[n2][1] + n1 * (drate[n2][2] - drate[n2][1] );
}
}
for (year=7;year<18;year++){
for (age=15;age<70;age++){
n1 = (year - 12) / 6 ;
n2 =(int)((age - 10) / 5);
mrourate[year][age] = mrate[n2][2] + n1 * (mrate[n2][3] - mrate[n2][2] );
wrourate[year][age] = wrate[n2][2] + n1 * (wrate[n2][3] - wrate[n2][2] );
drourate[year][age] = drate[n2][2] + n1 * (drate[n2][3] - drate[n2][2]);
}
}
for (year=18;year<30;year++){
for (age=15;age<70;age++){
n1 = (year - 18) / 12 ;
n2 =(int)((age - 10) / 5);
mrourate[year][age] = mrate[n2][3] + n1 * (mrate[n2][4] - mrate[n2][3] );
wrourate[year][age] = wrate[n2][3] + n1 * (wrate[n2][4] - wrate[n2][3] );
drourate[year][age] = drate[n2][3] + n1 * (drate[n2][4] - drate[n2][3] );
}
}
for (year=30;year<100;year++){
for (age=15;age<70;age++){
n1 = (year - 18) / 12 ;
n2 =(int)((age - 10) / 5);
mrourate[year][age] = mrate[n2][4] ;
wrourate[year][age] = wrate[n2][4] ;
drourate[year][age] = drate[n2][4] ;
}
}
}
}
最終更新:2014年07月31日 22:55