[问答题] 下面是一个Applet程序,其功能是输入3个双精度浮点数:a,b,c,构成一个一元二次方程,a*x*x+b*x+c=0,其判别式 d=b*b-4*a
[问答题] 下面是一个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
正确答案:d=a2*a2-4.0*a1*a3 x2=(-a2-Math.sqrt(d))/(2.0*a1) obj21_3.doReal(a,b,c,tf4)
参考解析:本题主要考查Applet窗口编程和AWT基本构件的使用和事件处理机制以及一元二次方程组的求根公式。解题关键是熟悉基本组件Button,Panel,Label等的用法和事件处理机制,熟悉一元二次方程组的求解,会使用Math类中给出的常用方法进行简单的数学计算。本题中,第1处,求判别式,注意判别式的公式是d=b*b-4*a*c,弄清楚doReal()方法中的参数对应的关系;第2处,求根公式的表示,应该-a2-Math.sqrt(d),否则,两个根一样;第3处,对象obj21_3调用doReal()方法时, 注意,最后1个参数是TextField类的对象,而不是Label类的对象。
词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
