import java.io.*;
class ex05{
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(){
readfile("data/data05.csv");
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] ;
}
}
}
void readfile(String file){
String str;
BufferedReader br;
s=0;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"SJIS"));
while((str = br.readLine()) != null) {
s=s+1;
data[s]=str;
}
br.close();
} catch (IOException e) {System.out.println(e);}
datanumber=s;
}
}
最終更新:2011年09月10日 23:53