首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是根据公式:y=a*sin(x)绘制正弦曲线。要求窗口中有一个文本区作为曲线峰值a的输入,可以判断输入的数字是否符合要求,一个ok按钮,点击则在画布中绘制曲线,以画布中的横坐标值作为sin()的参数x。请改正程序中的错误(
下面是一个Applet程序,其功能是根据公式:y=a*sin(x)绘制正弦曲线。要求窗口中有一个文本区作为曲线峰值a的输入,可以判断输入的数字是否符合要求,一个ok按钮,点击则在画布中绘制曲线,以画布中的横坐标值作为sin()的参数x。请改正程序中的错误(
admin
2009-01-15
118
问题
下面是一个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://www.kaotiyun.com/show/wIID777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
2006年度,江苏省医疗结构中,非营利性医疗机构比营利性医疗机构多____。由上文可以看出,以下四种医疗机构中,2006年度增加最多最快的是____。
下列关于我国武装力量的说法不正确的是()。
实现和维护劳动者权益是社会主义制度的本质要求。维护劳动者合法权益的重要依据是()。
古人对于我国姓氏的来历有如下阐述“氏于国,则齐鲁秦吴;氏于谥,则文武成宜;氏于事,则乙匠淘……”由此可以推断,王、侯、公孙等姓氏应源自()。
《公务员法》规定,对公务员考核的内容包括德、能、勤、绩、廉五个方面,重点考核()。
国际收支平衡表的四部分主要内容中,最基本的项目是()。
胡锦涛在十八大报告中指出,要加快推进国防和军队现代化,按照国防和军队现代化建设“三步走”战略构想.加紧完成机械化和信息化建设双重历史任务,力争到二〇二〇年基本实现()。
科学家研制出一种无针注射器,这种注射器的注射原理最可能是()。
以典人诗,是历代诗人常用的表现手法。这样可避免一览无余的直白.还可给读者在诗行间留下联想和思索的余地。下面诗句中没有涉及用典的是()。
根据以下资料,回答以下问题。中国汽车工业协会发布的2009年4月份中国汽车产销数据显示,在其他闰家汽车销售进一步疲软的情况下,国内乘用车销量却持续上升,当月销量已达83.1万辆,比3月份增长7.59%,同比增长37.37%。乘用车细分为
随机试题
IfMaryhadnotbeenbadlyhurtinacaraccident,she______inlastmonth’smarathonrace.
下列哪项属急性HBV感染的窗口期()
球结膜水肿见于()
在火车车厢的通道两边每排各有两个座位,且全部坐满,列车员A、B负责为某一车厢旅客倒水(限每位一杯)。A给右边的6位旅客倒完水时,被告知应负责左边的旅客,于是A重新到左边倒水,B接着给右边剩下的旅客倒水,之后B又帮A给10位旅客倒了水,最后两人同时结束工作。
光在被照射物体单位面积上所施加的压力叫光压,也被称为辐射压强。根据量子理论,光具有“波粒二象性”,它既是一种电磁波,又是一种粒子,即光子。光子没有静态质量,但有动量。当光子撞击到光滑的平面上时,可以像从墙上反弹回来的乒乓球一样改变运动方向,并给撞击物体以相
已知3m和2n的平均数为12,2m和3n的平均数为8,则m和n的平均数为
ADSL可以同时提供电话和高速数据业务,二者互不影响。其中电话语音业务使用的频带是()。
某注册会计师协会培训部的魏老师正在准备有关审计业务档案管理的培训课件,她的助手已搜集并整理了一份相关资料存放在Word文档“PPT素材.docx”中,按下列要求帮助魏老师完成PPT课件的整合制作:将演示文稿按下列要求分为3节,分别为每节应用不同的设计主
这个工厂是六十年代建立起来的,当时设备先进,技术力量雄厚,产品销路很广,但是随着时代的发展,这个厂的技术和产品已相对滞后,负债累累,影响到今后的发展。最近有关部门对这个厂动了大手术,裁减了人员,调整了领导班子,充实了技术力量。新的领导决定先走完成技术改造,
LifeintheUniverseManyscientiststodayareconvincedthatlifeexistselsewhereintheuniverse--lifeprobablymuchliket
最新回复
(
0
)