📄 halfsearch1.java
字号:
/*@author 邱宇峰 ,software project031
*2004,10,6
*/
import java.math.*;
import java.awt.*;
import java.awt.event.*;
public class halfSearch1{
void search(Graphics g){
//repaint();
int x=0;
double X,Y;
g.drawLine(50,300,450,300);
g.drawLine(250,150,250,300);
g.drawString("0",250,310);
g.drawString("1.57",407,310);
g.drawString("-1.57",73,310);
for(X=-2;X<=2;X+=0.01){
Y=100*Math.sin(X);
g.drawString(".",50+x,300-(int)Y);
x++;
}
double a=-2,b=2,e=0.00001;
while(b-a>e){
X=(a+b)/2;
if((a-2*Math.sin(a))*(X-2*Math.sin(X))<0) b=X;
else a=X;
g.setColor(Color.blue);
g.drawLine(250+(int)(100*a),300,250+(int)(100*a),300-(int)(100*Math.sin(a)));
g.drawLine(250-(int)(100*a),300,250-(int)(100*a),300+(int)(100*Math.sin(a)));
g.setColor(Color.yellow);
g.drawLine(250+(int)(100*b),300,250+(int)(100*b),300-(int)(100*Math.sin(b)));
g.drawLine(250-(int)(100*b),300,250-(int)(100*b),300+(int)(100*Math.sin(b)));
if(Math.abs(X-2*Math.sin(X))<0.00001){
g.setColor(Color.red);
g.drawString("。",250+(int)(100*X),300-(int)(100*Math.sin(X)));
g.drawString("。",250-(int)(100*X),300+(int)(100*Math.sin(X)));
}
for(int i=0;i<50000000;i++);
g.setColor(Color.white);
g.drawLine(250+(int)(100*a),300,250+(int)(100*a),300-(int)(100*Math.sin(a)));
g.drawLine(250-(int)(100*a),300,250-(int)(100*a),300+(int)(100*Math.sin(a)));
g.drawLine(250+(int)(100*b),300,250+(int)(100*b),300-(int)(100*Math.sin(b)));
g.drawLine(250-(int)(100*b),300,250-(int)(100*b),300+(int)(100*Math.sin(b)));
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -