![](https://cos-cdn.shuashuati.com/pipixue-wap/2020-1230-1107-56/ti_inject-812ce.png)
下面是一个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 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 = new Button('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 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(); 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>