首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是根据公式:y=a*sin(x)绘制正弦曲线。要求窗口中有一个文本区作为曲线峰值a的输入,可以判断输入的数字是否符合要求,一个ok按钮,点击则在画布中绘制曲线,以画布中的横坐标值作为sin()的参数x。请改正程序中的错误(
下面是一个Applet程序,其功能是根据公式:y=a*sin(x)绘制正弦曲线。要求窗口中有一个文本区作为曲线峰值a的输入,可以判断输入的数字是否符合要求,一个ok按钮,点击则在画布中绘制曲线,以画布中的横坐标值作为sin()的参数x。请改正程序中的错误(
admin
2009-01-15
86
问题
下面是一个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全国计算机二级
相关试题推荐
某国驻华外交官参与了一起走私案件,根据我国法律规定,应当()。
下列选项中不准确的是()。
王某潜入某工厂仓库盗窃,将仓库货物(:价值2万元)扔到院墙外,准备一会儿翻墙出去再捡,偶尔经过此处的刘某发现该货物无人看管,遂将其拿走,据为己有。10分钟后,王某来到院墙外,发现货物已无踪影。对王某、刘某行为定性,下列哪一选项是正确的?(
下列关于区域经济的表述不正确的是()。
在南极洲,尽管气候异常寒冷,但在南极维多利亚大煤田的煤炭储存量非常大,而且煤的质地特别好。其最有可能的原因是()。
根据我国宪法和法律,下列选项哪一个是正确的?()
下列属于程序法部门中的非诉讼程序法的是()
设xOy平面第一象限中有曲线:y=y(x),过点A(0,一1),y’(x)>0.M(x,y)为上任意一点,满足:弧段的长度与点M处的切线在x轴上的截距之差为一1.(Ⅰ)导出Y=y(x)满足的微分方程和初始条件;(Ⅱ)求曲线的表达式.
下列程序中,要求计算1+2+3+…+100的值,并显示计算结果。请将程序补充完整。程序运行结果如下:5050publicclassex6_1{publicstaticvoidmain(Stringr
为了支持压栈线程与弹栈线程之间的交互与同步,应在下画线处填入的选项是()。publicclassStackTest{privateintidx=0;privateint[]data=newint[8]publicvoid
随机试题
“道而弗牵,强而弗抑,开而弗达”体现了()教学原则。
患者,女,32岁,已婚。妊娠2个月,近日因恶阻而恶心、呕吐,呕吐酸苦水,不能进食,胸满胁痛,舌红苔黄,脉弦滑。其证候是()
该公司日前信用政策下的平均收款时间为( )天。公司采用新的信用政策,企业的利润为( )万元。
组织文化是指在长期的社会实践中,组织内部形成的全体成员共同认可和遵守的文化形态的总和。()
著名的意大利比萨斜塔倾斜的主要原因是()。
下列关于实验效度的说法正确的是()。
设矩阵A=(α1,α2,α3,α4)经初等行变换化为矩阵B=(β1,β2,β3,β4),且α1,α2,α3线性无关,α1,α2,α3,α4线性相关,则().
现有一个大型公司的数据库系统,其业务主要以更新事务为主,并且不同部门的用户访问不同的数据子集。随着用户数量的增加,出现了性能瓶颈。该公司希望采用分布式数据库技术解决该问题。下列最适合该应用的数据分配方式是()。
ElectricBackpackBackpacksareconvenient.Theycanholdyourbooks,yourlunch,andachangeofclothes,leavingyourhand
A、Theyusuallypromotepre-BlackFridaysales.B、Theydonothingbutjustwaitforthebattle.C、Theyworkhardtokeepthemselv
最新回复
(
0
)