【说明】 下面是一个Applet程序,其功能是根据给出的小时,分钟和秒数计算相等的秒数,即将1分钟化为60秒,依此类推。要求建立一个时间类,时间参数均作为类的成员变量,并且给出换算时间的方法,也作为这个类的成员函数,可以供外部对象进行调用。同时还需要在输出窗口中显示换算结果,并且将结果写到out3_3.txt文件中,本题给出确定的时间为4小时23分47秒,要求换算成以秒做单位的时间。 程序运行结果如图11所示。
import java.io.*; import java.awt.*; impOrt java.applet.*; /* <applet code=ex7_7.class width=800 height=400> </applet> */ public class ex7_7 extends APPlet{ public void paint (Graphics g){ int nSum; class myTime7_7{ public int h; public int m; public int s; public int out; public int caculateSecond(){ (1) ; return out; } } myTime7_7 objTime7_7=new myTime7_7(); ObjTime7_7. h=4; ObjTime7_7.m=23; ObjTime7_7.s=47; nSum=objTime7_7. (2) ; g.drawString("时:"+objTime7_7.h,20,30); g.drawString("分:"+objTime7_7.m,20,50); g.drawString("秒:"+objTime7_7.s,20,70); g.drawString( (3) ); try{ FileOutputStream fos7_7=new FileOutputStream("out7_7.txt"); BufferedOutputStream bos7_7=new BufferedOutputStream(fos7_7,1024); PrintStream ps7_7=new PrintStream(bos7_7,false); SyStem.setOut(ps7_7); System.out.println( (4) ); ps7_7. close(); }catch(|OException ioe){ (5) (ioe); } } } ex7_7.htm| <HTML> <HEAD> <TITLE>ex7_7</TITLE> </HEAD> <BODY> <appletcode="ex7_7.class"width=800 height=400> </applet> </BODY> </HTML>
参考答案:
解析:(1)out=h*3600+m*60+s (2)caculateSecond() (3)“合计:”+nSum+“秒”,20,90 (4)”合计:”+nSum+“秒” (5)System.out.println 本题主要考查Applet的窗口,文件和文件I/O,面向对象的基本概念以及基于文本的应用。解题关键是熟悉Applet的执行过程,会使用Graphics类的基本方法在用户界面中输出字符信息,会将Ap- plet面向对象的基本思想与文件操作相结合,编写有一定综合性的程序。本题中,1小时等于3600秒,这里主要是要熟练掌握运算表达式的写法。程序中不可以直接用。objTime3_3对象访问类的成员变量,应该调用成员方法,如果不调用方法去计算,得不到正确的结果。