📄 secadapt.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.Panel;
import java.io.*;
public class SecAdapt extends Frame implements ActionListener
{
private float A=0.5f,B=5.5f,E=0.01f;
private float S,U,V,H,T1,T2,W,ST[]=new float[100];
private int I;
Button bb;
TextField tf;
public SecAdapt()
{
setLayout(new FlowLayout(FlowLayout.LEFT));
bb=new Button("DRAW");
tf=new TextField(20);
tf.setEditable(false);
add(tf);
add(bb);
setSize(700,500);
setBackground(Color.white);
bb.addActionListener(this);
}
public void paint(Graphics g)
{
float i,x;
g.drawLine(300,50,300,450);
g.drawLine(10,250,700,250);
g.drawString("x",10,250);
g.drawString("y",300,50);
for(i=A;i<=B;i=i+0.01f)
{
x=i-3.0f;
g.drawLine((int)(i*100),(int)(250-Fac(x)*100),(int)(i*100+1),(int)(250-Fac(x+0.01f)*100));
}
}
public float Fac(float x)//use after multiply 100,out same
{
float y;
if(x==0)y=1;
else
{
y=(float)(Math.sin(x)/x);
}
return y;
}
public void Scrawl(float WW)
{
int x1,x2,y1,y2;
Graphics g=getGraphics();
for(int i=0;i<50000000;i++){}
x1=(int)(WW*100)+300;
y1=(int)(250-Fac(WW)*100);
x2=(int)(WW*100)+300;
y2=250;
g.drawLine(x1,y1,x2,y2);
}
public void CYC()
{
H=V-U;
T1=(Fac(U)+Fac(V))*H/2;
W=(U+V)/2;
T2=T1/2+Fac(W)*H/2;
Scrawl(W);
if(Math.abs(T2-T1)<(H*E))
{
S=S+T2;
if(I==0)
{
System.out.println(S);
tf.setText("S="+S);
}
else
{
U=V;
V=ST[I];
I=I-1;
CYC();
}
}
else if(Math.abs(T2-T1)>=(H*E))
{
I=I+1;
ST[I]=V;
V=W;
CYC();
}
}
public void Metic()
{
A=A-3f;
B=B-3f;
E=E/(B-A);
I=0;
S=0;
U=A;
V=B;
CYC();
}
public void actionPerformed(ActionEvent eve)
{
if(eve.getSource()==bb)
{
Graphics g=getGraphics();
g.drawLine((int)((A-3f)*100)+300,250-(int)(Fac(A-3f)*100),(int)((A-3f)*100)+300,250);
g.drawLine((int)((B-3f)*100)+300,250-(int)(Fac(B-3f)*100),(int)((B-3f)*100)+300,250);
Metic();
System.out.println("completed");
}
}
public static void main(String[] args)throws IOException
{
SecAdapt fuck=new SecAdapt();
fuck.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -