首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是计算山顶的高度,计算方法是:该山顶由a点量得仰角度数为a度,由b点量得仰角度数为b度,且测得a,b点之间的距离为c米,求山的高度。要求窗口中有3个输入框,分别作为a,b,c的输入,一个按钮点击后进行计算,结果显示在另一个
下面是一个Applet程序,其功能是计算山顶的高度,计算方法是:该山顶由a点量得仰角度数为a度,由b点量得仰角度数为b度,且测得a,b点之间的距离为c米,求山的高度。要求窗口中有3个输入框,分别作为a,b,c的输入,一个按钮点击后进行计算,结果显示在另一个
admin
2009-12-22
34
问题
下面是一个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>
选项
答案
tf4.setEditable(false) h=a3/Math.abs(1.0/Math.tan(a)-1.0/Math.tan(b)) tf.setText(Double.toString(h))
解析
本题主要考查Applet窗口编程和AWT基本构件的使用以及事件处理机制。解题关键是设计出计算山高的方法,并且结合事件处理机制,调用该计算方法实现程序的功能。本题中,第1处,由于用显示结果的文本框不可编辑,因此参数为false;第2处,需要对分母进行取绝对值操作,否则最后结果会产生负数;第3处,由于h是double类型的变量,做数据类型转换时需要调用Double类的toString()方法。
转载请注明原文地址:https://kaotiyun.com/show/Kcnp777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
下列选项中不属于结构化程序设计原则的是
下面的程序的功能是将11到2011之间的素数插入数据库prime,程序中的错误语句是CREATETABLEprime(datf)n=11DOWHILEn<=2011f=0i=2DOWH
查询尚未归还的图书编号和借书日期,正确的SQL语句是
有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是
有三个关系R、S和T如下:其中关系T由关系R和S通过某种操作得到,该操作为
假设某表单的Visible属性的初值为.F.,能将其设置为.T.的方法是
使用下图,表单名称为Form1,表单中有两个命令按钮(Command1和Command2)、两个标签、两个文本框(Text1和Text2)如果想在运行表单时,向Text2中输入字符,回显字符显示的是’’*’’号,则可以在Form1的Init事件
在考生文件夹下完成下列操作:(1)在考生文件夹下利用查询设计器创建一个查;询,从表中查询所属菜系为“川菜”和“粤菜”的威师。查询结果包含姓名、年龄和性别3个字段;各记录按“年龄”降序排序,年龄相同的再按“性别”升序排序;查询去向为表ta。最后将查
十进制整数设为整数类I,则下面属于类I的实例的是
随机试题
稳定型战略
TheHomesteadActof1862______toacquirelandatasmallcost.
乳腺癌最常见的病理类型为
男性24小时尿肌酐(mg)/身高(cm)的比值是女性24小时尿肌酐(mg)/身高(cm)的比值是
与AML-M2a骨髓象不符合的是
按诊断标准,下列哪项不是诊断类风湿性关节炎的必备关节表现
A.卵磷脂B.吐温80C.司盘80
在Word的编辑状态,对当前文档中的文字进行替换操作,应当使用的菜单是()。
根据以下资料回答下列题。表中“?”处的数值应为()。
AMostImportantPeriodinGreekOneofthemostimportantperiodsinGreekhistorywastheHellenisticAgewhichbeganaft
最新回复
(
0
)