下面是一个Apple(程序,其功能是播放动画。要求根据给出的3幅图片设计1个动画。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
程序运行结果如下:
import java.awt.*;
import java.applet.*;
import java.awt.image.*;
/*
<applet code="ex24_3.class" width=800 height=400 >
</applet>
*/
public class ex24_3 extends Applet implements Runnable {
Image[] images=new Image[4];
Image image;
int IMG nClick=over(this) title=放大Number=3;
int currentImage=0;
Thread thisThread;
public void init(){
for (int x=0;x<IMG nClick=over(this) title=放大Number;x++){
images[x]= getImage(getCodeBase(),"IMG nClick=over(this) title=放大"+x+".gif");
}
image=images[0];
}
public void paint(Graphics g){
g.drawImage(image[0],0,0,null);
}
public void update(Graphics g){
paint(g);
}
public void start(){
thisThread = new Thread(this);
thisThread.start();
}
public void stop(){
thisThread.stop();
thisThread=null;
}
public void run(){
while(true){
currentImage++;
currentImage=IMG nClick=over(this) title=放大Number;
image=images[IMG nClick=over(this) title=放大Number];
repaint();
try{
thisThread.sleep(100);
}
catch (Exception e){}
}
}
}
ex24_3, html
<HTML>
<HEAD>
<TITLE>ex24_3</TITLE>
</HEAD>
<BODY>
<applet code="ex24_3.class" width=800 height=400 >
</applet>
</BODY>
</HTML>
第1题:
给定程序MODll.C中函数fun的功能是:根据以下公式求π值,并作为函数值返回。
例如,给指定精度的变量eps输入0.0005时,应当输出Pi=3.141480。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
第2题:
下列给定程序中,函数proc()的功能是:根据形参m(2≤m≤9)的值,在m行m列的二维数组中存放如下所示的数据,由main()函数输出。
请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
(1)错误:proc(int**a,intm)
正确:voidproc(int(*a)[N],intm)
(2)错误:aEj][k]=k*J;
正确:a[j][k]=(k+1)*(j+1);
【解析】从主函数的调用可知,函数proc()没有返回值,因此应该定义为void类型。形参a应该是一个整型的指针数组。因此,“proe(int**a,intm)”应改为“voidproc(int(*a)[N],intm)”。数组下标从0开始,由事例数组可知,其元素从l开始递增,因此“a[j][k]=k*J;”应改为“a[j][k]=(k+1)*(j+1);”。
第3题:
给定程序MODll.C中函数fun的功能是:用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止:
例如,程序运行后,输入0.0001,则程序输出3.1414。
请改正程序中的错误,使它能输出正确的结果。
注意:不要改动smain函数,不得增行或删行,也不得更改程序的结构!
第4题:
给定程序MODll.C中函数fun的功能是:根据整型形参m,计算如下公式的值。
例如,若m中的值为:5,则应输出:1.463611。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
第5题:
下列给定程序中,函数proc()的功能是:根据整型形参n,计算如下公式的值。
例如,若n=12,则应输出0.618026。
请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
(1)错误:intproc(intn)
正确:floatproc(intn)
(2)错误:for(i=2;i<n;i++)
正确:for(i=2;i<=n;i++)
【解析】由主函数中的调用以及函数proc()的返回值可知,函数proc()的返回值类型应为float型数据。因此,“intproc(intn)”应改为“floatproc(intn)”;由题目中所给公式可知,循环中应该包含n的值,因此,“for(i=2;i<n;i++)”应改为“for(i=2;i<=n;i++)”。
第6题:
下列给定程序中,函数fun的功能是:根据整形参m的值,计算如下公式的值。
例如,若m中的值为5,则应输出0.536389。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODll.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序: