首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个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-01-15
63
问题
下面是一个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="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(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!");
}
}
}
ex23_3, html
<HTML>
<HEAD>
<TITLE>ex23_3</TITLE>
</HEAD>
<BODY>
<applet code="ex23_3.class" width=800 height=400 >
</applet>
</BODY>
</HTML>
选项
答案
th4.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/FLnp777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
要使“产品”表中所有产品的单价上浮8%,正确的SQL语句是
下面程序计算一个整数的各位数字之和,在下划线处应填写的语句是SETTALKOFFINPUT"x="TOxs=0DOWHILEx!=Os=s+MOD(x,10)______________ENDDO?sSETTALKON
耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是
在考生文件夹下存在表单文件myform.scx,其中包含一个名为“高度”的标签,文本框Text1,以及一个名为“确定”的命令按钮。打开该表单文件,然后在表单设计器环境下完成如下操作:1.将标签、文本框和命令按钮3个控件设置为顶边对齐。2
在考生文件夹,打开商品销售数据库CDB,完成如下简单应用:1.使用一对多报表向导建立名称为P_ORDER的报表。要求从父表顾客表CUST中选择所有字段,从子表订单表ORDER中选择所有字段;两表之间采用“顾客号”字段连接;按“顾客号”字段升序排序
打开考生文件夹下的SDB数据库,完成如下综合应用:创建一个标题名为“查询”、文件名为testb的表单,如下图所示。表单要求如下:(1)为表单建立数据环境,并向数据环境中添加“学生表”。(2)表单启动后自动居中。
在考生文件夹下,打开该CDB数据库,完成如下简单应用:1.使用一对多表单向导选择CUST表和ORDER表生成一个名为ONE的表单。要求从父表CUST中选择所有字段,从子表ORDER中选择所有字段,使用“顾客号”建立两表之间的关系,样式为“阴影式”;按
在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是()。
以下有关数组的叙述中,错误的是()。
假设使用DIMENSIONalT(5)定义了一个一维数组arr,正确的赋值语句是()。
随机试题
Coconut(椰子)isanunusualfoodformanyreasons.Itisoneofthelargestedibleseedsproducedbyanyplant.Itsunusualconte
1个月男婴,生后13天开始呕吐,进行性加重,喷射样,不含胆汁,近3天尿少,未排大便,查体有中度脱水征。该患儿应首先采取的治疗是
茵陈五苓散用于治疗
由于内痔的动脉供应,其好发部位多在截石位的
A.聚乙二醇B.氰基丙烯酸异丁酯C.聚乳酸D.磷脂E.乙基纤维素制备纳米粒的材料
患者李某,因炎症导致白细胞升高,患者把自己的病与白血病相混淆,并因为极度恐惧而产生轻生的念头。护士了解情况后及时和患者进行沟通,此时,护士最适合使用
风险回避一般适用于两种情况()。
甲公司2010年及2011年有关资料如下:(1)甲公司在2010年12月31日,以8000万元的价格吸收合并了乙公司,甲公司与乙公司的原股东不存在关联方关系。在购买日,乙公司可辨认资产的公允价值为12500万元,负债(全部为应付账款)的公允价值为5000
一个人只要是诚实的,那他一定就是一个守法公民。以下哪项对此最能构成反驳?()
【《末日审判书》】安徽师范大学2014年世界史真题;安徽师范大学2016年世界史真题
最新回复
(
0
)