package wage;
import tool.*;
public class pro {
int s,datanumber;
String[] data=new String[60000];
String[] credit=new String[50000];
String[] year=new String[50000];
String[] month=new String[5000];
String[] size=new String[50000];
String[] age=new String[50000];
String[] v=new String[50000];
String[] school=new String[50000];
String[] sex=new String[50000];
String[] bus=new String[50000];
String[] code_school=new String[50000];
String[] code_sex=new String[50000];
String[] code_bus=new String[50000];
String[] code_credit=new String[50000];
String[] code_size=new String[50000];
String[] code_age=new String[50000];
public static void main(String[] args) {
pro t=new pro();
}
pro(){
int creditnumber;
String[] creditp=new String[50];
String[] style=new String[50];
int[] strlong=new int[50];
String[][] datax=new String[500000][10];
creditnumber=8;
creditp[1]="year";
creditp[2]="bus";
creditp[3]="sex";
creditp[4]="school";
creditp[5]="age";
creditp[6]="size";
creditp[7]="credit";
creditp[8]="value";
style[1]="INTEGER";
style[2]="VARCHAR";
style[3]="VARCHAR";
style[4]="VARCHAR";
style[5]="VARCHAR";
style[6]="VARCHAR";
style[7]="VARCHAR";
style[8]="VARCHAR";
strlong[2]=5;
strlong[3]=5;
strlong[4]=5;
strlong[5]=5;
strlong[6]=5;
strlong[7]=5;
strlong[8]=20;
String db,tab;
db="wage";
tab="wage";
table sub77=new table();
sub77.credit=creditp;
sub77.creditnumber=creditnumber;
sub77.style=style;
sub77.strlong=strlong;
sub77.makedata(db,tab);
String[] dic_credit=new String[500];
int number_credit=0;
int number_size=0;
String[] dic_size=new String[500];
String[] dic_school=new String[500];
int number_school=0;
String[] dic_bus=new String[500];
int number_bus=0;
String[] dic_sex=new String[500];
int number_sex=0;
String[] dic_age=new String[500];
int number_age=0;
int tr=1;
for(tr=1;tr<141;tr++){
readfile sub7=new readfile();
sub7.makedata("gdata/"+tr+".txt","UTF-8");
data=sub7.data;
datanumber=sub7.datanumber;
for(s=1;s<datanumber+1;s++){
catchword sub2=new catchword();
credit[s]=sub2.makedata(data[s],"credit");
v[s]=sub2.makedata(data[s],"value");
year[s]=sub2.makedata(data[s],"year");
school[s]=sub2.makedata(data[s],"school");
sex[s]=sub2.makedata(data[s],"sex");
size[s]=sub2.makedata(data[s],"size");
age[s]=sub2.makedata(data[s],"age");
bus[s]=sub2.makedata(data[s],"bus");
}
int sx;
for(s=1;s<datanumber+1;s++){
int h=0;
for(sx=1;sx<number_size+1;sx++){
if(size[s].equals(dic_size[sx]))h=100;
}
if(h<50)number_size=number_size+1;
if(h<50)dic_size[number_size]=size[s];
}
System.out.println(number_size);
for(s=1;s<datanumber+1;s++){
int h=0;
for(sx=1;sx<number_school+1;sx++){
if(school[s].equals(dic_school[sx]))h=100;
}
if(h<50)number_school=number_school+1;
if(h<50)dic_school[number_school]=school[s];
}
System.out.println(number_school);
for(s=1;s<datanumber+1;s++){
int h=0;
for(sx=1;sx<number_bus+1;sx++){
if(bus[s].equals(dic_bus[sx]))h=100;
}
if(h<50)number_bus=number_bus+1;
if(h<50)dic_bus[number_bus]=bus[s];
}
System.out.println(number_bus);
for(s=1;s<datanumber+1;s++){
int h=0;
for(sx=1;sx<number_sex+1;sx++){
if(sex[s].equals(dic_sex[sx]))h=100;
}
if(h<50)number_sex=number_sex+1;
if(h<50)dic_sex[number_sex]=sex[s];
}
System.out.println(number_sex);
for(s=1;s<datanumber+1;s++){
int h=0;
if(age[s].indexOf("~")>-1)h=100;
if(h<50)age[s]="合計";
}
for(s=1;s<datanumber+1;s++){
int h=0;
for(sx=1;sx<number_age+1;sx++){
if(age[s].equals(dic_age[sx]))h=100;
}
if(h<50)number_age=number_age+1;
if(h<50)dic_age[number_age]=age[s];
}
System.out.println(number_age);
for(s=1;s<datanumber+1;s++){
int h=0;
for(sx=1;sx<number_credit+1;sx++){
if(credit[s].equals(dic_credit[sx]))h=100;
}
if(h<50)number_credit=number_credit+1;
if(h<50)dic_credit[number_credit]=credit[s];
}
System.out.println(number_credit);
for(s=1;s<datanumber+1;s++){
for(sx=1;sx<number_credit+1;sx++){
if(credit[s].equals(dic_credit[sx]))code_credit[s]="c"+sx;
}
}
for(s=1;s<datanumber+1;s++){
for(sx=1;sx<number_school+1;sx++){
if(school[s].equals(dic_school[sx]))code_school[s]="sc"+sx;
}
}
for(s=1;s<datanumber+1;s++){
for(sx=1;sx<number_sex+1;sx++){
if(sex[s].equals(dic_sex[sx]))code_sex[s]="s"+sx;
}
}
for(s=1;s<datanumber+1;s++){
for(sx=1;sx<number_bus+1;sx++){
if(bus[s].equals(dic_bus[sx]))code_bus[s]="b"+sx;
}
}
for(s=1;s<datanumber+1;s++){
for(sx=1;sx<number_size+1;sx++){
if(size[s].equals(dic_size[sx]))code_size[s]="s"+sx;
}
}
for(s=1;s<datanumber+1;s++){
for(sx=1;sx<number_age+1;sx++){
if(age[s].equals(dic_age[sx]))code_age[s]="a"+sx;
}
}
for(s=1;s<datanumber+1;s++){
datax[s][1]=year[s];
datax[s][2]=code_bus[s];
datax[s][3]=code_sex[s];
datax[s][4]=code_school[s];
datax[s][5]=code_age[s];
datax[s][6]=code_size[s];
datax[s][7]=code_credit[s];
datax[s][8]=v[s];
}
insert sub5=new insert();
sub5.creditnumber=creditnumber;
sub5.style=style;
sub5.data=datax;
sub5.datanumber=datanumber;
sub5.makedata(db,tab);
}
for(s=1;s<number_bus+1;s++){
System.out.println(code_bus[s]+","+dic_bus[s]);
}
for(s=1;s<number_sex+1;s++){
System.out.println(code_sex[s]+","+dic_sex[s]);
}
for(s=1;s<number_school+1;s++){
System.out.println(code_school[s]+","+dic_school[s]);
}
for(s=1;s<number_age+1;s++){
System.out.println(code_age[s]+","+dic_age[s]);
}
for(s=1;s<number_size+1;s++){
System.out.println(code_size[s]+","+dic_size[s]);
}
for(s=1;s<number_credit+1;s++){
System.out.println(code_credit[s]+","+dic_credit[s]);
}
}}
package wage;
import java.sql.*;
public class table{
Connection dbx;
Statement stx;
String sqx;
ResultSet rsx;
int creditnumber;
String[] credit=new String[50];
String[] style=new String[50];
int[] strlong=new int[50];
void makedata(String db,String tab){
String str;
str="";
int s;
for(s=1;s<creditnumber;s++){
if(style[s].equals("INTEGER"))str=str+credit[s]+" "+style[s]+",";
if(style[s].equals("VARCHAR"))str=str+credit[s]+" "+style[s]+"("+strlong[s]+"),";
}
s=creditnumber;
if(style[s].equals("INTEGER"))str=str+credit[s]+" "+style[s];
if(style[s].equals("VARCHAR"))str=str+credit[s]+" "+style[s]+"("+strlong[s]+")";
String url = "jdbc:h2:"+db+";create=true";
String usr = "";
String pwd = "";
try{
Class.forName("org.h2.Driver");
dbx = DriverManager.getConnection(url, usr, pwd);
stx = dbx.createStatement();
String sqx = "CREATE TABLE " +tab+"("+str+")";
stx.executeUpdate(sqx);
} catch (Exception ex) { ex.printStackTrace();}
}
}
package wage;
import java.sql.*;
import java.io.*;
class insert {
Connection dbx;
Statement stx;
String sqx;
ResultSet rsx;
String[] style=new String[50];
int creditnumber;
String[][] data=new String[5000][50];
int datanumber;
int p;
void makedata(String db,String tab) {
String str;
int s,sx;
for(p=1;p<datanumber+1;p++){
str="";
for(sx=1;sx<creditnumber;sx++){
if(style[sx].equals("VARCHAR"))str=str+change(data[p][sx])+",";
if(style[sx].equals("INTEGER"))str=str+data[p][sx]+",";
}
sx=creditnumber;
if(style[sx].equals("VARCHAR"))str=str+change(data[p][sx]);
if(style[sx].equals("INTEGER"))str=str+data[p][sx];
String url = "jdbc:h2:"+db+";create=true";
String usr = "";
String pwd = "";
try{
Class.forName("org.h2.Driver");
dbx = DriverManager.getConnection(url, usr, pwd);
stx = dbx.createStatement();
String sql = "INSERT INTO "+tab+" VALUES("+str+")";
int num = stx.executeUpdate(sql);
stx.close();
} catch (Exception ex) { ex.printStackTrace();}
}
}
String change(String str){
String str1;
str1="'"+str+"'";
return str1;
}
}
最終更新:2016年06月12日 02:41