import java.awt.*;
import java.awt.event.*;
class ren extends Frame{
int[] oprice=new int[10000];
int[] hprice=new int[10000];
int[] lprice=new int[10000];
int[] cprice=new int[10000];
int[] volume=new int[10000];
int[] rprice=new int[10000];
int[] year=new int[100000];
int[] month=new int[10000];
int[] day=new int[10000];
int[] high= new int[10000];
int[] low= new int[10000];
int[] open= new int[10000];
int[] close= new int[10000];
int[] rank=new int[10000];
int pnumber,sx,maxp,minp;
String urlx,str,strx;
String[] data=new String[100000];
int y,m,d;
int s,datanumber,p1,p2;
int xlong;
public static void main(String [] args) {
Frame f=new ren();
f.setTitle("TSE");
f.setSize(700,700);
f.setBackground(Color.yellow);
f.setVisible(true);
}
ren(){
urlx="http://www11.atpages.jp/ce00582/tss.php?code=9505";
getdata sub=new getdata();
sub.makedata(urlx);
data=sub.data;
datanumber=sub.datanumber;
str="";
for(s=1;s<datanumber+1;s++){
str=str+data[s];
}
p1=str.indexOf("<code>");
str=str.substring(p1,str.length());
String[] x=str.split("<BR>");
xlong=x.length;
for(s=0;s<xlong;s++){
str=x[s];
p1=str.indexOf("<high>");
p2=str.indexOf("</high>");
strx=str.substring(p1,p2);
strx=strx.replace("<high>","");
hprice[s+1]=Integer.parseInt(strx);
str=x[s];
p1=str.indexOf("<low>");
p2=str.indexOf("</low>");
strx=str.substring(p1,p2);
strx=strx.replace("<low>","");
lprice[s+1]=Integer.parseInt(strx);
str=x[s];
p1=str.indexOf("<open>");
p2=str.indexOf("</open>");
strx=str.substring(p1,p2);
strx=strx.replace("<open>","");
oprice[s+1]=Integer.parseInt(strx);
str=x[s];
p1=str.indexOf("<close>");
p2=str.indexOf("</close>");
strx=str.substring(p1,p2);
strx=strx.replace("<close>","");
cprice[s+1]=Integer.parseInt(strx);
str=x[s];
p1=str.indexOf("<rev>");
p2=str.indexOf("</rev>");
strx=str.substring(p1,p2);
strx=strx.replace("<rev>","");
rprice[s+1]=Integer.parseInt(strx);
str=x[s];
p1=str.indexOf("<volume>");
p2=str.indexOf("</volume>");
strx=str.substring(p1,p2);
strx=strx.replace("<volume>","");
volume[s+1]=Integer.parseInt(strx);
str=x[s];
p1=str.indexOf("<year>");
p2=str.indexOf("</year>");
strx=str.substring(p1,p2);
strx=strx.replace("<year>","");
year[s+1]=Integer.parseInt(strx);
str=x[s];
p1=str.indexOf("<month>");
p2=str.indexOf("</month>");
strx=str.substring(p1,p2);
strx=strx.replace("<month>","");
month[s+1]=Integer.parseInt(strx);
str=x[s];
p1=str.indexOf("<day>");
p2=str.indexOf("</day>");
strx=str.substring(p1,p2);
strx=strx.replace("<day>","");
day[s+1]=Integer.parseInt(strx);
}
ranking();
System.out.println(xlong);
addWindowListener(new stopwin());
}
void ranking(){
int h,s,r,sx;
int miny,mind,minm;
int h1,h2,h3;
int [] ch=new int[10000];
for(r=1;r<xlong+1;r++){
miny=4000;
minm=13;
mind=32;
sx=0;
for(s=1;s<xlong+1;s++){
h1=0;
if(year[s]<miny)h1=1;
h2=0;
if(year[s]==miny)h2=h2+1;
if(month[s]<minm)h2=h2+1;
h3=0;
if(year[s]==miny)h3=h3+1;
if(month[s]==minm)h3=h3+1;
if(day[s]<mind)h3=h3+1;
h=0;
if(h1==1)h=h+1;
if(h2==2)h=h+1;
if(h3==3)h=h+1;
if(ch[s]<50)h=h+1;
if(h==2)miny=year[s];
if(h==2)minm=month[s];
if(h==2)mind=day[s];
if(h==2)sx=s;
}
ch[sx]=100;
rank[r]=sx;
}
}
class stopwin extends WindowAdapter{
public void windowClosing(WindowEvent we){System.exit(0);}
}
public void paint(Graphics g){
int p1,p2,s1;
int maxv;
g.drawLine(100,600,600,600);
g.drawLine(100,600,100,100);
maxp=0;
for(s=1;s<101;s++){
s1=xlong+s-100;
sx=rank[s1];
if(hprice[sx]>maxp)maxp=hprice[sx];
}
minp=9999999;
for(s=1;s<101;s++){
s1=xlong+s-100;
sx=rank[s1];
if(lprice[sx]<minp)minp=lprice[sx];
}
maxv=0;
for(s=1;s<101;s++){
s1=xlong+s-100;
sx=rank[s1];
if(volume[sx]>maxv)maxv=volume[sx];
}
for(s=1;s<101;s++){
s1=xlong+s-100;
sx=rank[s1];
p1=(int)(hprice[sx]-minp)*250/(maxp-minp);
p2=(int)(lprice[sx]-minp)*250/(maxp-minp);
g.drawLine(100+5*s,350-p1,100+5*s,350-p2);
}
g.setColor(Color.white);
for(s=1;s<101;s++){
s1=xlong+s-100;
sx=rank[s1];
p1=(int)(oprice[sx]-minp)*250/(maxp-minp);
p2=(int)(cprice[sx]-minp)*250/(maxp-minp);
if(p2>p1)g.fillRect(100+5*s-2,350-p2,4,p2-p1);
}
g.setColor(Color.blue);
for(s=1;s<101;s++){
s1=xlong+s-100;
sx=rank[s1];
p1=(int)(oprice[sx]-minp)*250/(maxp-minp);
p2=(int)(cprice[sx]-minp)*250/(maxp-minp);
if(p1>p2)g.fillRect(100+5*s-2,350-p1,4,p1-p2);
}
g.setColor(Color.black);
for(s=1;s<101;s++){
s1=xlong+s-100;
sx=rank[s1];
p1=volume[sx]*250/maxv;
g.drawLine(100+5*s,600,100+5*s,600-p1);
}
}
}
最終更新:2011年08月15日 11:30