首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是输入3个双精度浮点数:a,b,c,构成一个一元二次方程,a*x*x+b*x+c=0,其判别式 d=b*b-4*a*c,若d为负数则输出“没有实根”,否则打印出2个实根。要求,有3个输入框,输入a,b,c,一个按钮,点击实
下面是一个Applet程序,其功能是输入3个双精度浮点数:a,b,c,构成一个一元二次方程,a*x*x+b*x+c=0,其判别式 d=b*b-4*a*c,若d为负数则输出“没有实根”,否则打印出2个实根。要求,有3个输入框,输入a,b,c,一个按钮,点击实
admin
2009-01-15
47
问题
下面是一个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>
选项
答案
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类的对象。
转载请注明原文地址:https://kaotiyun.com/show/PUnp777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
在表设计器中创建的索引都存放在
下列数据结构中,能用二分法进行查找的是
在表单中为表格控件指定数据源的属性是
为便于在表单中连续添加同种类型的多个控件,可先按下“表单控件”工具栏中的
按如下要求完成综合应用(所有控件的属性必须在表单设计器的属性窗口中设置):(1)根据“项目信息”、“零件信息”和“使用零件”3个表建立一个查询(注意表之间的连接字段),该查询包括项目号、项目名、零件名称和数量4个字段,并要求先按项目号升序排列,项
在考生文件夹下,完成如下简单应用:1.利用查询设计器创建一个查询,其功能是从xuesheng和chengji两个表中找出1982年出生的汉族学生记录。查询结果包含学号、姓名、数学、英语和信息技术5个字段;各记录按学号降序排列;查询去向为表tabl
在VisualFoxPro中,对字段设置有效性规则,下面描述正确的是()。
要从字符串“全国计算机等级考试”中取出子串“等级考试”,应该使用函数()。
(1)在考生文件夹下有一个数据库“图书借阅”,使用报表向导制作一个名为tsrepo的报表,存放在考生文件夹下。要求:选择borrows表中所有的字段。报表样式为“经营式”,报表布局:列数“1”,字段布局“列”,方向“纵向”,按“借书证号”字段升序排序,报表
(1)打开表单one,如图3-21所示,通过设置控件的相关属性,使得表单运行时的开始焦点在“打开”命令按钮,并且接下来的焦点的移动顺序是“关闭”和“退出”。(2)打开表单two,使用“布局”工具栏的“顶边对齐”按钮将表单中的3个命令按钮控件的顶边对齐。
随机试题
医师的权利不包括
关于甲状旁腺,下列说法正确的是()。
下列哪些项目不应缴纳个人所得税?
根据《统计法》规定,任何单位和个人不得对外提供和泄露、不得用于统计以外目的的资料是()。
“假个贷”是指借款人和所购房屋都是真实存在的,只是购房行为为“假”。()
中央银行在公开市场卖出证券可能出现的结果为()
下列关于培训与开发的决策分析的叙述,正确的是( )。
不好的社会支持系统可能()。
人眼的光学系统跟传统的照相机是十分类似的。但照相机只是把外界景物的图像映在照相软片上,人眼却并不是把投射到视网膜上的图像______________地传给大脑,而是先对图像进行信息加工,抽取线段、角度、弧度、色度和明暗对比等包含重要信息的简单特征,并把它们
A、B、C、D、A
最新回复
(
0
)