📄 goldensearch1.java
字号:
/*@author 邱宇峰 ,software project031
*2004,10,6
*/
import java.math.*;
import java.awt.*;
import java.awt.event.*;
public class goldenSearch1{
void search(Graphics g){
//repaint();
int x=0;
double X,Y;
g.drawLine(80,300,420,300);
g.drawLine(252,150,252,300);
g.drawString("0",250,310);
g.drawString("-1.57",91,310);
g.drawString("1.57",405,310);
for(X=-(3.14/2);X<(3.14/2);X+=0.01){
Y=100*Math.cos(X);
g.drawString(".",91+x,300-(int)Y);
x++;
}
double a=-(3.14/2),b=(3.14/2),e=0.1,X1,X2,f1,f2;
X1=a+0.382*(b-a);
X2=a+0.618*(b-a);
f1=Math.cos(X1);
f2=Math.cos(X2);
while(b-a>e){
if(f2>f1){
a=X1;X1=X2;f1=f2;X2=a+0.618*(b-a);f2=Math.cos(X2);
}
else{
b=X2;X2=X1;f2=f1;X1=a+0.382*(b-a);f1=Math.cos(X1);
}
g.setColor(Color.red);
g.drawString("。",93+(int)(100*((a+b)/2))+157,300-(int)(100*Math.cos((a+b)/2)));
g.setColor(Color.blue);
g.drawLine(248+(int)(100*a),300,248+(int)(100*a),300-(int)(100*Math.cos(a)));
g.setColor(Color.yellow);
g.drawLine(248+(int)(100*b),300,248+(int)(100*b),300-(int)(100*Math.cos(b)));
for(int i=0;i<500000000;i++);
g.setColor(Color.white);
g.drawLine(248+(int)(100*a),300,248+(int)(100*a),300-(int)(100*Math.cos(a)));
g.drawLine(248+(int)(100*b),300,248+(int)(100*b),300-(int)(100*Math.cos(b)));
g.drawString("。",93+(int)(100*((a+b)/2))+157,300-(int)(100*Math.cos((a+b)/2)));
}
g.setColor(Color.red);
g.drawString("。",93+(int)(100*((a+b)/2))+157,300-(int)(100*Math.cos((a+b)/2)));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -