| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 447 人关注过本帖
标题:谁能帮我看看这程序??
取消只看楼主 加入收藏
xuweiwei417
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-9-15
收藏
 问题点数:0 回复次数:0 
谁能帮我看看这程序??

后面那部分for 循环出来的结果不对
如果把两部分分开单独编,能出正确的数据
是不是内存的问题啊

public class Stepscha{
public static void main(String[] args){
double a,b,R,l,x0,y0,xx0,yy0,xc,h,x1,k1,k2,a1,b1,d,mid,n=0.1;
double xx[]=new double[100000];
double yy[]=new double[100000];
int xsteps[]=new int[100000];
int hsteps[]=new int[100000];
float max1[]=new float[100000];
float max;
double hh[]=new double[100000];
int i,m=1,j=1,k=1,e=0,t;
a=170;b=68;l=100.0;R=87.0748;xc=9;
a1=a+R;
b1=b+R;
x0=-l/2;
y0=Math.sqrt((1-x0*x0/(a*a))*b*b);
k1=-b*b*x0/(a*a*y0);
k2=-1/k1;
xx0=x0-R/Math.sqrt(1+k2*k2);
mid=xx0;
yy0=Math.sqrt((1-xx0*xx0/(a1*a1))*b1*b1);
for(xc=10;xc>=0.01;xc=xc-0.001){
for(xx0=mid;xx0<=-mid;xx0=xx0+xc){
yy0=Math.sqrt((1-xx0*xx0/(a1*a1))*b1*b1);
xx[m]=xx0;
yy[m]=yy0;
m++;
}
for(i=2;i<m;i++){
d=Math.sqrt((xx[i]-xx[i-1])*(xx[i]-xx[i-1])+(yy[i]-yy[i-1])*(yy[i]-yy[i-1]));
h=R-Math.sqrt(R*R-d*d/4);
if(h>max)
max=(float)h;
}
while(max>=0.00001){
if((max-n)<=0.000001){
xsteps[e]=m-1;
max1[e]=max;
e++;
n=n-0.00001;
}
break;
}
m=1;max=0;
}
t=e;
x0=-l/2;
e=0;

for(j=0;j<t;j++){
while (x0<=l/2) {
d=2*Math.sqrt(R*R-(R-(float)max1[j])*(R-(float)max1[j]));
y0= Math.sqrt((1-x0*x0/(a*a))*b*b);
k1=-b*b*x0/(a*a*y0);
k2=-1/k1;
x1=x0+d/Math.sqrt(1+k1*k1);
x0=x1;
m++;
}
hsteps[e]=m+1;
e++;
x0=-l/2;
}
m=e-1;
System.out.println("h xsteps hsteps xsteps-hsteps");
for(e=0;e<=t;e++){
j=xsteps[e]-hsteps[e];
System.out.println(max1[e]+" "+xsteps[e]+" "+hsteps[e]+" "+j);

}
}
}

搜索更多相关主题的帖子: 内存 public 
2005-11-25 14:23
快速回复:谁能帮我看看这程序??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027150 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved