首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是根据公式:y=a*sin(x)绘制正弦曲线。要求窗口中有一个文本区作为曲线峰值a的输入,可以判断输入的数字是否符合要求,一个ok按钮,点击则在画布中绘制曲线,以画布中的横坐标值作为sin()的参数x。请改正程序中的错误(
下面是一个Applet程序,其功能是根据公式:y=a*sin(x)绘制正弦曲线。要求窗口中有一个文本区作为曲线峰值a的输入,可以判断输入的数字是否符合要求,一个ok按钮,点击则在画布中绘制曲线,以画布中的横坐标值作为sin()的参数x。请改正程序中的错误(
admin
2009-01-15
71
问题
下面是一个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全国计算机二级
相关试题推荐
中国传统菜肴对于烹调方法极为讲究,而且长期以来,由于物产和风俗的差异,各地的饮食习惯和品味爱好_______,_______的烹调技术经过历代人民的创造,形成了丰富多彩的地方菜系。填入画横线部分最恰当的一项是:
孙某丈夫外出做买卖五年未归,也没有任何音讯。孙某欲改嫁,下面说法正确的是()。
小王从农贸市场买来一条金鱼,没过几天鱼就死了。下列最有可能导致金鱼死亡的原因是()。
《全面推进依法行政实施纲要》要求,减少行政执法层次,适当下移执法重心。对与人民群众日常生活、生产直接相关的行政执法活动,其主要实施机关是()。
2014年中央一号文件指出,2014年及今后一个时期,农业农村工作的总要求是()。
色彩是一种物理光学现象.有光就有色。我们生活在缤纷的色彩世界,需要不断地了解色彩、恰当地应用色彩,使我们的生活更加丰富多彩。下列说法正确的是()。①医院墙壁、桌椅选用蓝色或白色,使人心情平静②快餐店选用鲜艳的橙色易引起顾客食欲③中国人结婚用红色
宪法作为国家根本大法要求其必须具有更高的稳定性.因此宪法的修改程序相对于其他法律也是更为严格的。我国宪法的修改权由()行使。
《合同法》第63条规定,执行政府定价或者政府指导价的,在合同约定的交付期限内政府价格调整时,按照交付时的价格计价。逾期提取标的物或者逾期付款的,遇价格上涨时,按照()。
在创建线程时可以显式地指定线程组,此时可供选择的线程构造方法有()种。
为了支持压栈线程与弹栈线程之间的交互与同步,在程序的下画线处依次填入的语句是()。publicclassIntStack{privateintidx=0;privateint[]data=newint[8];pub
随机试题
在ExchangeServer2003中,“收件人”一词指已启用邮箱或者已启用邮件的ActiveDirecitory对象,下列关于Exchange收件人的叙述中不正确的是()
引起病理性浊音和实音的原因,不包括()
宫颈癌术后哪种情况下需补充放疗:
咳声重浊,痰白清稀属
根据《医疗机构制剂配制质量管理规范(试行)》,制剂出现质量问题需要收回时,制剂收回记录的内容不包括()。
下列原始凭证中,属于单位自制原始凭证的有()。
证券回购交易实质是()。
某调查小组对部分生物进行了归类,他们把胡狼、棕熊和狮子归为一类,把丹顶鹤、蝙蝠、麻雀归为一类,把黄鳝、蛇和蚯蚓归为一类,这样归类的依据最可能是()。
[*]
某用户的E-mail地址是lusponline.sh.cn,那么该用户邮箱所在服务器的域名是【 】。
最新回复
(
0
)