java适合于数值方面的计算吗?今天想用java写个迭代法,计算x=sin(x)的根,简单程序如下:
import java.applet.Applet;
import java.awt.*;
public class iteration extends Applet{
public void init(){
resize(320, 240);
}
public void paint(Graphics g){
double x,x0=1.8,p;
int n=0;
x=Math.sin(1.8);
while((Math.abs(x-x0)>0.0000005)&&(n<=100));
{
x=Math.sin(x0);
p=x0;
x0=x;
x=p;
n++;
}
String s=Double.toString(x);
g.drawString("简单迭代法的结果为:"+s,20,30);
g.drawString("迭代次数为:"+Integer.toString(n),20,40);
}
}
是不是java计算速度太慢,怎么我一运行,CPU就100%几分钟结果都不能出来
import java.applet.Applet;
import java.awt.*;
public class iteration extends Applet{
public void init(){
resize(320, 240);
}
public void paint(Graphics g){
double x,x0=1.8,p;
int n=0;
x=Math.sin(1.8);
while((Math.abs(x-x0)>0.0000005)&&(n<=100));
{
x=Math.sin(x0);
p=x0;
x0=x;
x=p;
n++;
}
String s=Double.toString(x);
g.drawString("简单迭代法的结果为:"+s,20,30);
g.drawString("迭代次数为:"+Integer.toString(n),20,40);
}
}
是不是java计算速度太慢,怎么我一运行,CPU就100%几分钟结果都不能出来
你这样一刷新就要重新计算,当然慢了
while((Math.abs(x-x0)>0.0000005)&&(n<=100));下面的根本不执行
{
x=Math.sin(x0);
p=x0;
x0=x;
x=p;
n++;
}