アットウィキロゴ

bunx000

package jimin;
 
import tool.*;
 
public class pro {
 
    int s,datanumber;
    String[] data=new String[5000];
   String[] city=new String[5000];
    int[][] point=new int[6000][15];
     int[] v=new int[6000];
     String[] code=new String[5000];
 
 int[] v1=new int[6000];
    int[] v2=new int[6000];
     int[] v3=new int[6000];
 
    public static void main(String[] args) {
        pro te=new pro();
    }
 
    pro(){
 
 
    readfile sub=new readfile();
   sub.makedata("data.csv","UTF-8");
   data=sub.data;
   datanumber=sub.datanumber;
 
    int sx=0;
   for(s=2;s<datanumber+1;s++){
String[] x=data[s].split(",");
city[s]=x[0];      
for(sx=1;sx<x.length;sx++){
point[s][sx]=numx(x[sx]);
 }
 
}
 
   for(s=2;s<datanumber+1;s++){
   if(city[s].length()==4)city[s]="0"+city[s];    
    }
 
   for(s=2;s<datanumber+1;s++){
   int p1=0;
   for(sx=1;sx<11;sx++){    
   p1=p1+point[s][sx];
   }
   int p2=0;
   if(p1>0)p2=100*point[s][3]/p1;
   v[s]=p2;
   }
 
   int number=datanumber;
 
    readfile sub2=new readfile();
   sub2.makedata("soc.csv","UTF-8");
   data=sub2.data;
   datanumber=sub2.datanumber;
 
for(s=14;s<datanumber+1;s++){
data[s]=rev_csv(data[s]);
String[] x1=data[s].split(",");
code[s]=x1[0];      
v1[s]=numx(x1[2]);
v2[s]=numx(x1[5]);
}
 
 
for(s=14;s<datanumber+1;s++){
int sxs=0;
for(sx=2;sx<number+1;sx++){ 
if(code[s].equals(city[sx]))sxs=sx;    
}          
v3[s]=v[sxs];
}   
 
 
 
 
double[][] x=new double[10000][10];
     double[] sol=new double[100];
     double[] y=new double[10000];
 
 
 
 
for(s=14;s<datanumber+1;s++){
if(v1[s]>0)x[s-13][2]=100*v2[s]/v1[s];
y[s-13]=v3[s];
x[s-13][1]=1;
}
 
      ols sub3=new ols();
      sub3.datanumber=datanumber-13;
      sub3.number=2;
      sub3.x=x;
      sub3.y=y;
      sub3.makedata();
      sol=sub3.sol;
 
 
 
      System.out.println(sol[1]+","+sol[2]);
 
 
 
 
 
 
    }
 
 
 
 
 
 int numx(String str){
 
    int nx;
 
    nx=0;
 
 try{
 
    nx=Integer.parseInt(str);
 
 }catch (Exception e) {}
 
 return nx;
 
 
 
}
double num(String str){
 
    double nx;
 
    nx=0;
 
 try{
 
    nx=Double.parseDouble(str);
 
 }catch (Exception e) {}
 
 return nx;
 
 
 
}
 
    String rev_csv(String str){
 
        String str5=str;
        int px=str5.indexOf("\"");
 
 
 
        while(px>-1){
       str5=rev(str5);
       px=str5.indexOf("\"");   
        }
        return str5;
    }
 
    String rev(String str){
 
        int p1=str.indexOf("\"");
        int p2=str.indexOf("\"",p1+1);
 
     String str1=str.substring(0,p1);   
        String str2=str.substring(p1+1,p2);  
        String str3=str.substring(p2+1,str.length());
        str2=str2.replace(",","");
 
        return str1+str2+str3;
 
    }
 
 
 
 
}
 
 
 
package jimin;
 
public class ols {
 
    int s,s1,s2;
    int datanumber,number;
    double x1;
    double[][] a=new double[100][100];
     double[] b=new double[100];
     double[] y=new double[1000];
    double[][] x=new double[1000][10];
     double[] sol=new double[100];
 
    void makedata(){
 
 
 
     for(s1=1;s1<number+1;s1++){
    for(s2=1;s2<number+1;s2++){   
     x1=0;   
    for(s=1;s<datanumber+1;s++){
    x1=x1+x[s][s1]*x[s][s2];
    }
    a[s1][s2]=x1;
    }
    }
 
 
 
    for(s1=1;s1<number+1;s1++){
    x1=0;   
    for(s=1;s<datanumber+1;s++){
    x1=x1+x[s][s1]*y[s];
    }
    b[s1]=x1;
    }
 
    double z;
 
   for(s1=1;s1<number+1;s1++){
   for(s2=1;s2<number+1;s2++){   
   z=a[s2][s1]/a[s1][s1];  
   if(s1==s2)z=0;
   for(s=1;s<number+1;s++){
   a[s2][s]=a[s2][s]-z*a[s1][s];
   } 
   b[s2]=b[s2]-z*b[s1];
   }
   }
 
   for(s1=1;s1<number+1;s1++){
   sol[s1]=b[s1]/a[s1][s1];
   }
 
 
 
 
 
    }
}
 
最終更新:2016年05月19日 03:49