首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是根据公式:y=a*sin(x)绘制正弦曲线。要求窗口中有一个文本区作为曲线峰值a的输入,可以判断输入的数字是否符合要求,一个ok按钮,点击则在画布中绘制曲线,以画布中的横坐标值作为sin()的参数x。请改正程序中的错误(
下面是一个Applet程序,其功能是根据公式:y=a*sin(x)绘制正弦曲线。要求窗口中有一个文本区作为曲线峰值a的输入,可以判断输入的数字是否符合要求,一个ok按钮,点击则在画布中绘制曲线,以画布中的横坐标值作为sin()的参数x。请改正程序中的错误(
admin
2009-01-15
73
问题
下面是一个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://jikaoti.com/ti/PkkiFFFM
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
近代中国思想界的“西学东渐”经历了一个由理论到实践、由照抄照搬到与中国实际情况相结合的发展历程。下面体现这两个步骤的标志性事件分别是()。
“三部曲”泛指三部内容各自独立,但又有一定联贯性的文学作品。《幻灭》、《动摇》、《追求》是()。
党的十八大提出的“四个监督”的内容是()。
一批物资分别由16列火车从甲站紧急运送到600千米外的乙站,现已知每列火车在运行途中间隔不得低于40千米,且火车运行速度为200千米/小时,那么将这批物资完全运到乙站至少需要多少小时?
一个等差数列的第1项是2001前7项的和为10500,那么这个数列的第10项是多少?
在宋朝的典卖契约中,若没有约定回赎期限或约定不清,业主可在多少年内以原价赎回标的物()
简述法律关系的定义和特征。
下列程序的输出结果是()。publicclassArrayTest{publicstaticvoidmain(Stringargs[]){int[]intArray=newint[3]for(int
下列不合法的用户标识符是()。
随机试题
对下列哪些犯罪人不得适用缓刑?()
合同管理委员会编制的《工程咨询服务协议书试行本》的适用范围不包括()。
能够体现企业技术优势的有()。Ⅰ.生产的技术水平Ⅱ.新产品的开发Ⅲ.产品的技术含量Ⅳ.创新人才的储备
()是指企业在一定地区、一定时间内只选择一家中间商经销或代理其产品。
教育部公布的《国家教育事业发展第十二个五年规划》提出,推动各地制定非户籍常住人口在流入地接受()阶段教育的办法。
中国近代第一个研究职业教育的专门机构是()
[A]Crisisseemsfar[B]Thefirmisatrisk[C]Morerivalsjoinin[D]Naturalfoodsareunreal[E]Stopbuyin
Howlonghavetheynotmeteachother?
Youwillhearfiveshortrecordings.Foreachrecording,decidewhichtopicfromtheboxbelowthespeakeristalkingabout.Wri
HowHealthyAreYou?Goodhealthisnotsomethingyouareabletobuyatthedrugstore,andyoucan’tdependongettingitb
最新回复
(
0
)