【分析解答题】
下面是一个ApplEt程序,其功能是输入3个双精度浮点数:A,B,C,构成一个一元二次方程,A*x*x+B*x+C=0,其判别式 D=B*B-4*A*C,若D为负数则输出“没有实根”,否则打印出2个实根。要求,有3个输入框,输入A,B,C,一个按钮,点击实现求根过程,一个不可编辑的文本区,用作输出结果。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
程序运行结果如下:

import jAv
A、io.*;
import jAv
A、Awt.*;
import jAv
A、Awt.EvEnt.*;
import.jAv
A、ApplEt.ApplEt;
/*
<ApplEt CoDE="Ex21_3.ClAss" wiDth=800 hEight=400>
</ApplEt>
*/
puBliC ClAss Ex21_3 ExtEnDsApplEt implEmEntsACtionlistEnEr
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 = nEwButton("ok");
lABEl 14=nEw lABEl("答案:");
tExtFiElD tF4=nEw tExtFiElD(20);
Ex21_3 oBj21_3;
puBliC voiD init()
pAnE.sEtlAyout(nEw FlowlAyout(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(FAlsE);
p3.ADD(tF4);
ADD("south",p3);
oBj21_3=nEw Ex21_3();
puBliC voiD DorEAl(DouBlE A1,DouBlE A2,DouBlE A3,tExtFiElD tF)
DouBlE D,x1,x2;
D=A1*A1-4.0*A2*A3;
iF(D>=0.0)
x1=(-A2+mAth.sqrt(D))/(2.0*A1);
x2=(-A2+mAth.sqrt(D))/(2.0*A1);
tF.sEttExt("2个实根: x1="+x1+"\nx2="+x2);
ElsE
tF.sEttExt("没有实根! ");
puBliC voiD ACtionpErFormEDACtionEvEnt AE)
DouBlE A,B,C;
try
A=nEwDouBlE(tF1.gEttExt()).DouBlEvAluE();
B=nEwDouBlE(tF2.gEttExt()).DouBlEvAluE();
C=nEwDouBlE(tF3.gEttExt()).DouBlEvAluE();
oBj21_3.DorEAl(A,B,C,14);
CAtCh(numBErFormAtExCEption nFE)
tF4.sEttExt("wrong numBEr!");
Ex21_3.htm1
<html>
<hEAD>
<titlE>Ex21_3</titlE>
</hEAD>
<BoDy>
<ApplEt CoDE="Ex21_3.ClAss" wiDth=800 hEight=400 >
</ApplEt>
</BoDy>
</html>
查看答案解析
参考答案:
正在加载...
答案解析
正在加载...
根据网考网移动考试中心的统计,该试题:
0%的考友选择了A选项
0%的考友选择了B选项
0%的考友选择了C选项
0%的考友选择了D选项