首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是根据公式:y=a*sin(x)绘制正弦曲线。要求窗口中有一个文本区作为曲线峰值a的输入,可以判断输入的数字是否符合要求,一个ok按钮,点击则在画布中绘制曲线,以画布中的横坐标值作为sin()的参数x。请改正程序中的错误(
下面是一个Applet程序,其功能是根据公式:y=a*sin(x)绘制正弦曲线。要求窗口中有一个文本区作为曲线峰值a的输入,可以判断输入的数字是否符合要求,一个ok按钮,点击则在画布中绘制曲线,以画布中的横坐标值作为sin()的参数x。请改正程序中的错误(
admin
2009-01-15
81
问题
下面是一个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全国计算机二级
相关试题推荐
《行政许可法》规定,对于有数量限制的行政许可,两个以上申请人的申请均符合法定要求的,行政机关应当()。
在预算的实际执行过程及年终的决算中,人们把()视为一种理想的财政平衡的标志。
19世纪,对开辟人类生活新时代起决定作用的自然科学成就是()。
以下叙述中反映了陆地自然带分布规律的是()。
由商品的价格变动所引起的商品相对价格的变动,进而由商品的相对价格变动所引起的商品需求量的变动,称为()。
在下列犯罪构成的一般要件中,体现犯罪实质特征的要件是()。
()被称为武器装备的“心脏”,是现代军事技术的核心和基础,广泛应用于雷达、计算机、通信设备、导航设备、火控系统、制导设备和电子对抗设备等各类军用设备上。
两同学需托运行李。托运收费标准为10千克以下6元/千克.超出10千克部分每千克收费标准略低一一些。已知甲、乙两人托运费分别为109.5元、78元。甲的行李比乙重了50%。那么,超出10千克部分每千克收费标准比10千克以内的低了多少元?()
为使下列代码正常运行,应该在下画线处填入的选项是()。ObjectInputStreamIn=new_________(newFileInputStream("employee.doc"));Employee[]newstaf
随机试题
AlotofrealbusinessesarefocusingontheInternetasawayofbuildingsales,butsomepeoplewithnothingtosellarecreat
Wouldyouliketospendalleveningreadingalovelystorywithbeautifulillustrationsandmake$35,000atthesametime?Milli
下列选项中,不属于辅助生育技术的是()
男性74岁,渐进性乏力伴面色苍白2个月。查体为贫血貌,有反甲,巩膜无黄染,浅表淋巴结无肿大,心率102次/分肝脾肋下未触及。血常规Hb79g/LRBC2.82×1012/L,MCV78fl,WBC5.O×109/L,血小板220×l09/L,首先考
从投资的角度看,资金时间价值的大小取决于()。
资本资产定价模型和套利定价模型的相同假设条件有( )。Ⅰ.投资者有相同的理念Ⅱ.市场是完全的,因此对交易成本等因素都不做考虑Ⅲ.投资者在决策中只关心投资的期望收益率和方差Ⅳ.投资者是回避风险的,而且还要实现效用最大化
不等式2x-k≤0的正整数解是1,2,3,那么k的取值范围是______。
立体农业是指利用生物间的相互关系,兴利避害,为了充分利用空间把不同生物种群组合起来,多物种共存、多层次配置、多级物质能量循环利用的立体种植、立体养殖或立体种养的农业经营模式。根据上述定义,以下不属于立体农业的是:
例如:为了让自己更健康,他每天都花一个小时去锻炼身体。★他希望自己很健康。(√)今天我想早点儿回家。看了看手表,才5点。过了一会儿再看表,还是5点,我这才发现我的手表不走了。★那块手表不是他的。(×)
Theincreaseinsalesofprofessionalhair-careproductsindicatesthatconsumersarepayingasmuchattentiontotheirhairas
最新回复
(
0
)