下面是一个Applet程序,其功能是计算山顶的高度,计算方法是:该山顶由a点量得仰角度数为a度,由b点量得仰角度数为b度,且测得a,b点之间的距离为c米,求山的高度。要求窗口中有3个输入框,分别作为a,b,c的输入,一个按钮点击后进行计算,结果显示在另一个文本框中(这个文本框不可编辑)。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。源程序文件代码清单如下:import java.io.*;import java.awt.*;import java.awt.event.*;import java.applet.Applet;/*<applet code="ex6_3.class" width=800 height=400 ></applet>*/public class ex6_3 extends Applet implements ActionListener{Panel pane=new Panel();Label 11 = new Label("a 点仰角:");TextField tfl = new TextField(5);Label 12 = new Label("b 点仰角:");TextField tf2 = new TextField(5);Label 13 = new Label("a,b 之间距离:");TextField tf3 = new TextField(5);Button btn = new Button("OK");Label 14=new Label ("山高");TextField tf4=new TextField(20);ex6_3 obj23_3;public void init(){pane.setLayout (new FiowLayout(FlowLayout.LEFT,10,5));pane.add (11);pane.add (tf1);pane.add (12);pane.add (tf2);add ("North", pane);Panel p2=new Panel();p2.setLayout(new FlowLayout (FlowLayout. LEFT, 10,5));p2.add(13);p2.add (tf3);p2.add(btn);btn. addActionListener (this);add ("Center", p2);Panel p3=new Panel();p3.setLayout(new FlowLayout (FlowLayout.LEFT,10,5));p3.add(14);tf4. setEditable (true);p3.add(tf4);add ("South", p3);obj23_3=new ex6_3();}public void doMessure(double al,double a2,double a3,TextField tf){double pi=Math. PI,a,b,h;a=al*pi/180.0;b=a2*pi/180.0;h=a3/(1.0/Math. tan (a) -1.0/Math. tan (b));tf.setText (Integer.toString(h));}public void actionPerformed(ActionEvent ae){double a,b, c;try{a=new Double(tf1.getText()) .doubleValueb=new Double(tf2,getText ()) .doubleValuec=new Double(tf3.getText()) .doubleValueobj23_3.doMessure(a,b,c, tf4);}catch (NumberFormatException nfe){tf4.setText("wrong number!");}}}ex6_3. html<HTML><HEAD><TITLE>ex6_3</TITLE></HEAD><BODY><applet code="ex6_3.class" width=800 height=400 ></applet></BODY></HTML>
下面是一个Applet程序,其功能是计算山顶的高度,计算方法是:该山顶由a点量得仰角度数为a度,由b点量得仰角度数为b度,且测得a,b点之间的距离为c米,求山的高度。要求窗口中有3个输入框,分别作为a,b,c的输入,一个按钮点击后进行计算,结果显示在另一个文本框中(这个文本框不可编辑)。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
源程序文件代码清单如下:
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
/*
<applet code="ex6_3.class" width=800 height=400 >
</applet>
*/
public class ex6_3 extends Applet implements ActionListener
{
Panel pane=new Panel();
Label 11 = new Label("a 点仰角:");
TextField tfl = new TextField(5);
Label 12 = new Label("b 点仰角:");
TextField tf2 = new TextField(5);
Label 13 = new Label("a,b 之间距离:");
TextField tf3 = new TextField(5);
Button btn = new Button("OK");
Label 14=new Label ("山高");
TextField tf4=new TextField(20);
ex6_3 obj23_3;
public void init()
{
pane.setLayout (new FiowLayout(FlowLayout.LEFT,10,5));
pane.add (11);
pane.add (tf1);
pane.add (12);
pane.add (tf2);
add ("North", pane);
Panel p2=new Panel();
p2.setLayout(new FlowLayout (FlowLayout. LEFT, 10,5));
p2.add(13);
p2.add (tf3);
p2.add(btn);
btn. addActionListener (this);
add ("Center", p2);
Panel p3=new Panel();
p3.setLayout(new FlowLayout (FlowLayout.LEFT,10,5));
p3.add(14);
tf4. setEditable (true);
p3.add(tf4);
add ("South", p3);
obj23_3=new ex6_3();
}
public void doMessure(double al,double a2,double a3,TextField tf)
{
double pi=Math. PI,a,b,h;
a=al*pi/180.0;
b=a2*pi/180.0;
h=a3/(1.0/Math. tan (a) -1.0/Math. tan (b));
tf.setText (Integer.toString(h));
}
public void actionPerformed(ActionEvent ae)
{
double a,b, c;
try
{
a=new Double(tf1.getText()) .doubleValue
b=new Double(tf2,getText ()) .doubleValue
c=new Double(tf3.getText()) .doubleValue
obj23_3.doMessure(a,b,c, tf4);
}catch (NumberFormatException nfe)
{
tf4.setText("wrong number!");
}
}
}
ex6_3. html
<HTML>
<HEAD>
<TITLE>ex6_3</TITLE>
</HEAD>
<BODY>
<applet code="ex6_3.class" width=800 height=400 >
</applet>
</BODY>
</HTML>