首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个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
71
问题
下面是一个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全国计算机二级
相关试题推荐
定义无符号整数类为UInt,下面可以作为类UInt实例化值的是
在数据库表中,要求指定字段或表达式不出现重复值,应该建立的索引是
下面属于表单方法名(非事件名)的是
在考生文件夹下完成下列操作:(1)编写程序文件two.prg并执行。计算“01”组(歌手编号的前2位)歌手的得分,并将结果存入自由表FINAL中。FINAL包含“歌手姓名”和“得分”两个字段,“得分”取各评委所打分数的平均值。FINAL中的结果按
1.建立一个表单文件myform,将employee表添加到表单的数据环境中,然后在表单中添加表格控件grid1,指定其记录源类型为“别名”、记录源为employee表文件,最后添加一个“退出”命令按钮控件command1,程序运行时单击该命令按钮将关闭表
在考生文件夹下有一个名为myform的表单,表单中包含一个列表框和两个命令按钮。请在该表单中完成如下操作:(1)打开表单,设置列表框的数据源(RowSource)和数据源类型(RowSourceType)两个属性。RowSourceTy
下列有关过程调用的叙述中,正确的是()。
检查软件产品是否符合需求定义的过程称为()。
(1)新建一个项目myproject,然后再在该项目中建立一个数据库mybase。(2)将考生文件夹下的3个自由表全部添加到新建的mybase数据库。(3)利用SQLALTER语句为orderitem表的“数量”字段设置有效性规则:字段值必须大于零
设计一个文件名和表单名均为rate的表单,表单的标题为“外汇汇率查询”,表单界面如图3-22所示,表单中有两个下拉列表框(Combol和Comb02),这两个下拉列表框的数据源类型(RowSourceType属性)均为字段,且数据源(RowSource属性
随机试题
In30years,yourshoeswillbesmarterthanyou.That’snotmeanttobeaninsultbutratherwhatMasayoshiSonbelieveswillb
有关结肠的叙述,错误的是
导赤散功用是
沈某与其子进城卖西瓜,中午12点遭一伙当地无业青年无理取闹,西瓜被砸,其子还被这伙人(王某、刘某在内)围住殴打,沈某见状急忙向邻近某县派出所请求保护。该派出所值班人员李某以休息时间不办公为由拒绝提供保护。结果西瓜大半被砸烂,其子也被打伤。此时有人再次报警,
工业企业能源消费量不包括非生产用能源。()
下列股票交易行为中,违反证券法律制度规定的有()。
使社会主义从空想发展成为科学的马克思的两个发现是()。
求
已知A=,A*是A的伴随矩阵,若R(A*)=1。则a=()
Itisadreamworld,wherechemistscanturnasow’searintoasilkpurse,wherebioengineerscanputalittlehitofasheepi
最新回复
(
0
)