logo - 刷刷题
下载APP
【简答题】

下面是一个Applet程序,其功能是计算山顶的高度,计算方法是;该山顶由a点量得仰角度数为a度,由b点量得仰角度数为b度,且测得a,b点之间的距离为c米,求山的高度。要求窗口中有3个输入框,分别作为a,b,c的输入,一个按钮点击后进行计算,结果显示在另一个文本框中(这个文本框不可编辑)。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
程序运行结果如下:


import java.io.*;
import java.awt.*;
import java.awt..*;
import java.applet.Applet;
/*
<applet code="ex23_3.class" width=800 height=400 >
</applet>
*/
public class ex23_3 extends Applet implements ActionListener
Panel pane=new Panel();
Label 11 = new Label("a点仰角:");
TextField tf1 = 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);
ex23_3 obj23_3;
public void init()
pane.setLayout(new Flow Layout (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 ex23_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(Action 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!");



ex23_3.html
<HTML>
<HEAD>
<TITLE>ex23_3</TITLE>
</HEAD>
<BODY>
<applet code="ex23_3.class" width=800 height=400 >
</applet>
</BODY>
</HTML>

举报
参考答案:
参考解析:
.
刷刷题刷刷变学霸
举一反三