首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是根据公式:y=a*sin(x)绘制正弦曲线。要求窗口中有一个文本区作为曲线峰值a的输入,可以判断输入的数字是否符合要求,一个ok按钮,点击则在画布中绘制曲线,以画布中的横坐标值作为sin()的参数x。请改正程序中的错误(
下面是一个Applet程序,其功能是根据公式:y=a*sin(x)绘制正弦曲线。要求窗口中有一个文本区作为曲线峰值a的输入,可以判断输入的数字是否符合要求,一个ok按钮,点击则在画布中绘制曲线,以画布中的横坐标值作为sin()的参数x。请改正程序中的错误(
admin
2009-01-15
75
问题
下面是一个Applet程序,其功能是根据公式:y=a*sin(x)绘制正弦曲线。要求窗口中有一个文本区作为曲线峰值a的输入,可以判断输入的数字是否符合要求,一个ok按钮,点击则在画布中绘制曲线,以画布中的横坐标值作为sin()的参数x。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
程序运行结果如下:
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
import java.lang.Math.*;
/*
<applet code="ex18_3.class" width=800 height=400 >
</applet>
*/
public class ex18_3 extends Applet implements ActionListener {
Panel pane=new Panel();
drawWnd dw;
Label 11 = new Label("峰值");
TextField tf1 = new TextField(15);
Button btn = new Button("OK");
private float a=0;
public void init(){
pane.setLayout(new FlowLayout(FlowLayout.CENTER,25,5));
pane.add(11);
pane.add(tf1);
pane.add(btn);
btn.addActionListener(this);
add("North",pane);
dw=new drawWnd();
add("South",dw);
}
class drawWnd extends Canvas {
drawWnd() {
setSize(300,100);
setBackground(Color. GRAY);
}
public void paint(Graphics g) {
g.setColor(Color.GREEN);
for(int i=0;i<getSize().width-1;i++){
int y=0;
int y1=y+(int) (Math.sin(i)*a);
int y2=y1+(int) (a*Math.sin(i+1));
g.drawLine(i,y1,i+1,y2);
}
}
}
public void actionPerformed(ActionEvent ae) {
try{
a=Integer.parseInt(tf1.getText());
dw.repaint();
}
catch(NumberFormatException nfe){
tf1.setText("error!");
}
}
}
ex18_3.html
<HTML>
<HEAD>
<TITLE>ex18_3</TITLE>
</HEAD>
<BODY>
<applet code="ex18_3.class" width=800 height=400 >
</applet>
</BODY>
</HTML>
选项
答案
y=getSize().height/2 int y2=y+(int)(a*Math.sin(i+1)) a=Float.parseFloat(tf1.getText())
解析
本题主要考查Applet的图形绘制,Applet的生命周期以及其事件处理机制。解题关键是熟悉Applet窗口中坐标的布局,会使用TextField,Canvas,Button等构件,会使用内部类继承Canvas类,实现在画布中绘制图像的方法,并通过在主程序中结合事件处理机制来调用该方法。本题中,第一处,由于画布中的纵坐标是从上向下从0开始的,因此需要有一个相对坐标原点,这里取画布的一半;第二处,计算下一点的坐标,应该是相对于坐标原点y而言的坐标值,不应该是y1;第三处,a为float类型的变量,因此要用Float类的类型转换方法。
转载请注明原文地址:https://kaotiyun.com/show/wIID777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
某国驻华外交官参与了一起走私案件,根据我国法律规定,应当()。
行政机关在其法定职权范围内,依照法律、法规、规章的规定,可以委托下列哪一机关或者单位实施行政许可?()
符合下列哪一情形而在五年以内再犯应当判处有期徒刑以上刑罚之罪的不构成累犯?()
张某11周岁,小学五年级学生,经常在其学校门口的一家小卖部买零食和一些学习用品,部分赊一账年,终时共欠小卖部340元。小卖部老板拿着账单要求张某父亲付款,遭到张某父亲拒绝。下列说法正确的是()。
我国第一艘航母“辽宁舰”交接人列后,海军官兵以科学求实的态度和顽强拼搏的精神,按计划迅速投入紧张的出海训练和科研试验任务中。其间,顺利进行了歼-15飞机起降飞行训练。目前,歼-15飞机的起飞方式是()。
小明买了7本书共花去100元,后发现有一本书质量有问题,故补了若干元换了另外一本书。回来后发现,退换后7本书的价格成等差数列且均为整数元,而最贵的书价格为26元,问最便宜的书多少钱?()
根据下面材料回答下列小题。总体看来,2004年世界各国的石油探明储量基本变化不大。但是由于BP公司修正了前苏联、哈萨克斯坦、伊朗、利比亚和苏丹等国的数据,特别是哈萨克斯坦从12亿吨修正到54亿吨,从而使各国在全球石油储量分布中所占的比例发生了一些变化
下列语句中,在语序上不同于其他三句的一句是()。
对下列语句排序正确的一项是()。①也许是月亮的香气吧,我这么想②看见蛎粉墙上印着我的身影,我于是重又意识到了我③我心中不起一切杂念,大约历一刻钟之久,才回转身来④从江岸直到我的楼下是一大片沙坪,月光照着,茫然一白,但带点儿青的意
随机试题
门诊药房发药应实行
太阳中风汗出的机理是
体内氨的去路主要是()
淋巴细胞的表面抗原的检测可用于T淋巴细胞的亚群分类、功能分析等。CD抗原是淋巴细胞表面的分化抗原。其中
培养钩端螺旋体的最佳体温
“备案号”栏应填:“件数”栏应填:
从所给的四个选项中,选择最合适的一个填人问号处,使之呈现一定的规律性。()
[2010年GRK真题]丈夫和妻子讨论孩子上哪所小学为好。丈夫称:根据当地教育局最新的教学质量评估报告,青山小学教学质量不高。妻子却认为:此项报告未必客观准确,因为撰写报告的人中有来自绿水小学的人员,而绿水小学在青山小学附近,两所学校有生源竞争的利害关系,
The(.71)referstotheintegrationofcomplexphysicalmachinerywithnetworkedsensorsandsoftware.Itdrawstogetherfieldssuch
Forachild,happinesshasamagicalnature.Iremembermakinghide-outsinnewly-cuthay,playingcopsandrobbersinthewoods
最新回复
(
0
)