首页 > 计算机 > 计算机考试 正文

[问答题] 下面是一个Applet程序,其功能是根据公式:y=a*sin(x)绘制正弦曲线。要求窗口中有一个文本区作为曲线峰值a的输入,可以判断输入的数字是否符合要求,一个ok按钮,点击则在画布中绘制

时间:2021-07-20 17:40:51 解答: 85 次

[问答题] 下面是一个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(tf

正确答案:

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类的类型转换方法。

  • 相关题库

请充值VIP继续使用(未注册用户支付后会自动注册登录)

×

95元 29元

VIP截止日期:2025-01-02 00:10:39

←请使用支付宝扫码支付

95元 29元

VIP截止日期:2025-01-02 00:10:39

←请使用微信扫码支付