[問答題] 下面是一個(gè)Applet程序,其功能是輸入3個(gè)雙精度浮點(diǎn)數(shù):a,b,c,構(gòu)成一個(gè)一元二次方程,a*x*x+b*x+c=0,其判別式 d=b*b-4*a
[問答題] 下面是一個(gè)Applet程序,其功能是輸入3個(gè)雙精度浮點(diǎn)數(shù):a,b,c,構(gòu)成一個(gè)一元二次方程,a*x*x+b*x+c=0,其判別式 d=b*b-4*a*c,若d為負(fù)數(shù)則輸出“沒有實(shí)根”,否則打印出2個(gè)實(shí)根。要求,有3個(gè)輸入框,輸入a,b,c,一個(gè)按鈕,點(diǎn)擊實(shí)現(xiàn)求根過程,一個(gè)不可編輯的文本區(qū),用作輸出結(jié)果。請(qǐng)改正程序中的錯(cuò)誤(有下劃線的語句),使程序能輸出正確的結(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="ex21_3.class" width=800 height=400>
</applet>
*/
public class ex21_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("c:");
TextField tf3 = new TextField(5);
Button btn
正確答案:d=a2*a2-4.0*a1*a3 x2=(-a2-Math.sqrt(d))/(2.0*a1) obj21_3.doReal(a,b,c,tf4)
參考解析:本題主要考查Applet窗口編程和AWT基本構(gòu)件的使用和事件處理機(jī)制以及一元二次方程組的求根公式。解題關(guān)鍵是熟悉基本組件Button,Panel,Label等的用法和事件處理機(jī)制,熟悉一元二次方程組的求解,會(huì)使用Math類中給出的常用方法進(jìn)行簡(jiǎn)單的數(shù)學(xué)計(jì)算。本題中,第1處,求判別式,注意判別式的公式是d=b*b-4*a*c,弄清楚doReal()方法中的參數(shù)對(duì)應(yīng)的關(guān)系;第2處,求根公式的表示,應(yīng)該-a2-Math.sqrt(d),否則,兩個(gè)根一樣;第3處,對(duì)象obj21_3調(diào)用doReal()方法時(shí), 注意,最后1個(gè)參數(shù)是TextField類的對(duì)象,而不是Label類的對(duì)象。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。