[問(wèn)答題] 下面是一個(gè)Applet程序,其功能是計(jì)算山頂?shù)母叨龋?jì)算方法是;該山頂由a點(diǎn)量得仰角度數(shù)為a度,由b點(diǎn)量得仰角度數(shù)為b度,且測(cè)得a,b點(diǎn)之間的距離為
[問(wèn)答題] 下面是一個(gè)Applet程序,其功能是計(jì)算山頂?shù)母叨?,?jì)算方法是;該山頂由a點(diǎn)量得仰角度數(shù)為a度,由b點(diǎn)量得仰角度數(shù)為b度,且測(cè)得a,b點(diǎn)之間的距離為c米,求山的高度。要求窗口中有3個(gè)輸入框,分別作為a,b,c的輸入,一個(gè)按鈕點(diǎn)擊后進(jìn)行計(jì)算,結(jié)果顯示在另一個(gè)文本框中(這個(gè)文本框不可編輯)。請(qǐng)改正程序中的錯(cuò)誤(有下劃線的語(yǔ)句),使程序能輸出正確的結(jié)果。
注意:不改動(dòng)程序的結(jié)構(gòu),不得增行或刪行。
程序運(yùn)行結(jié)果如下:
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點(diǎn)仰角:");
TextField tf1 = new TextField(5);
Label 12 = new Label ("b點(diǎn)仰角: ");
TextField tf2 = new TextField(5);
Label 13 = new Label("a,b之間距離:");
TextField tf3 = new TextField(5);
Bu
正確答案:th4.setEditable(false) h=a3/Math.a(chǎn)bs(1.0/Math.tan(a)-1.0/Math.tan(b)) tf.setText(Double.toString(h))
參考解析:本題主要考查Applet窗口編程和AWT基本構(gòu)件的使用以及事件處理機(jī)制。解題關(guān)鍵是設(shè)計(jì)出計(jì)算山高的方法,并且結(jié)合事件處理機(jī)制,調(diào)用該計(jì)算方法實(shí)現(xiàn)程序的功能。本題中,第1處,由于用顯示結(jié)果的文本框不可編輯,因此參數(shù)為false;第2處,需要對(duì)分母進(jìn)行取絕對(duì)值操作,否則最后結(jié)果會(huì)產(chǎn)生負(fù)數(shù);第3處,由于h是double類型的變量,做數(shù)據(jù)類型轉(zhuǎn)換時(shí)需要調(diào)用Double類的toString()方法。
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。