Java程序设计总复习题1、编写一个Java程序在屏幕上输出“你好!”。(p13,例1-1)//programmenameHelloworld.javapublicclassHelloworld{publicstaticvoidmain(Stringargs[]){System.out.print(你好!);}}2.编写一个Java程序,用if-else语句判断某年份是否为闰年。//ProgrammeNameLeapYear.javapublicclassLeapYear{publicstaticvoidmain(Stringargs[]){intyear=2010;if(args.length!=0)year=Integer.parseInt(args[0]);if((year%4==0&&year%100!=0)||(year%400==0))System.out.println(year+年是闰年。);elseSystem.out.println(year+年不是闰年。);}}//if-else语句3、编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和。(p64,例2-2)//programmenameForTest.javapublicclassForTest{publicstaticvoidmain(Stringargs[]){inti,j,mul,sum=0;for(i=1;i=10;i++){mul=1;for(j=1,j=i;j++){mul=mul*j;}sum=sum+mul;}System.out.println(“1!+2!+3!+……+10!=”+sum);}}4.(1)编写一个圆类Circle,该类拥有:①一个成员变量Radius(私有,浮点型);//存放圆的半径;②两个构造方法Circle()//将半径设为0Circle(doubler)//创建Circle对象时将半径初始化为r③三个成员方法doublegetArea()//获取圆的面积doublegetPerimeter()//获取圆的周长voidshow()//将圆的半径、周长、面积输出到屏幕(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。还拥有:①一个成员变量doublehight(私有,浮点型);//圆柱体的高;②构造方法Cylinder(doubler,doubleh)//创建Circle对象时将半径初始化为r③成员方法doublegetVolume()//获取圆柱体的体积voidshowVolume()//将圆柱体的体积输出到屏幕编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。//ProgrammeNameTestCylinder.javaclassCircle{//定义父类--园类privatedoubleradius;//成员变量--园半径Circle(){//构造方法radius=0.0;}Circle(doubler){//构造方法radius=r;}doublegetPerimeter(){//成员方法--求园周长return2*Math.PI*radius;}doublegetArea(){//成员方法--求园面积returnMath.PI*radius*radius;}voiddisp(){//成员方法--显示园半径、周长、面积System.out.println(园半径=+radius);System.out.println(园周长=+getPerimeter());System.out.println(园面积=+getArea());}}classCylinderextendsCircle{//定义子类--圆柱类privatedoublehight;//成员变量--园柱高Cylinder(doubler,doubleh){//构造方法super(r);hight=h;}publicdoublegetVol(){//成员方法--求园柱体积returngetArea()*hight;}publicvoiddispVol(){//成员方法--显示园柱体积System.out.println(圆柱体积=+getVol());}}publicclassTestCylinder{//定义主类publicstaticvoidmain(String[]args){//主程入口CircleCi=newCircle(10.0);//生成园类实例Ci.disp();//调用园类的方法CylinderCyl=newCylinder(5.0,10.0);//生成圆柱类实例Cyl.disp();//调用父类方法Cyl.dispVol();//调用子类方法}}5、编写一个Java应用程序,从键盘读取用户输入两个字符串,并重载3个函数分别实现这两个字符串的拼接、整数相加和浮点数相加。要进行异常处理,对输入的不符合要求的字符串提示给用户,不能使程序崩溃。(p39,例2-10,2-11)//programmenameStrinput.javaimportjava.io.*;publicclassStrinput{publicstaticvoidmain(Stringargs[]){Strings1,s2,ss,si,sf;inti1,i2;floatf1,f2;BufferedReaderstrin=newBufferedReader(newInputStreamReader(System.in));try{System.out.print(输入第一个字符串:);s1=strin.readLine();System.out.print(输入第二个字符串:);s2=strin.readLine();}catch(Exceptione){System.out.println(e.getMessage());}i1=Integer.parseInt(s1);i2=Integer.parseInt(s2);f1=Float.parseFloat(s1);f2=Float.parseFloat(s2);ss=strAdd(s1,s2);si=strAdd(i1,i2);sf=strAdd(f1,f2);System.out.println(输入的二个字符串相加结果为:+ss);System.out.println(输入字符串转换为整数相加结果为:+si);System.out.println(输入字符串转换为浮点数相加结果为:+sf);}StringstrAdd(Stringstr1,Stringstr2){returnstr1+str2;}StringstrAdd(intint1,intint2){returnString.valueOf(int1+int2);}StringstrAdd(floatflt1,floatflt2){returnString.valueOf(flt1+flt2);}}6.应用FileInputStream类,编写应用程序,从磁盘上读取一个Java程序,并将源程序代码显示在屏幕上。(被读取的文件路径为:E:/myjava/Hello.java)//ProgrammeNameFISDemo.javaimportjava.io.*;publicclassFISDemo{publicstaticvoidmain(Stringargs[]){byte[]buf=newbyte[2056];try{FileInputStreamfileIn=newFileInputStream(e:/myjava/Hello.java);intbytes=fileIn.read(buf,0,2056);Stringstr=newString(buf,0,bytes);System.out.println(str);}catch(Exceptione){e.printStackTrace();}}7、编写一个Java程序将当100,101,102,103,104,105个数以数组的形式写入到Dest.txt文件中,并以相反的顺序读出显示在屏幕上。(p190,例7-2)//programmenameIODemo.javaimportjava.io.*;publicclassIODemo{publicstaticvoidmain(Stringargs[]){intdata[]={100,101,102,103,104,105};intt;try{DataOutputStreamout=newDataOutputStream(newFileOutputStream(“dest.txt”));for(inti=0;idata.length;i++)out.WriteInt(data[i]);out.close();DataInputStreamin=newDataInputStream(newFileInputStream(“dest.txt”));for(inti=data.length-1;i=0;i--){t=in.readInt(data[i]);System.out.print(“”+t);}System.out.println();in.close();}catch(IOExceptione){System.out.println(e.getMessage());}}}8.利用Applet类和Runnable接口实现滚动字幕,其中字幕文字(“学好Java有工作”)和时间间隔(“200”)需要由页面文件中Applet标记的子标记Param传递。importjava.awt.Color;importjava.awt.Graphics;importjavax.swing.JApplet;publicclassMoveMessageextendsJAppletimplementsRunnable{Stringstr;inttime;privateThreadthread;publicvoidinit(){setBackground(Color.PINK);str=getParameter(message);StringtimeArg=getParameter(time);time=Integer.parseInt(timeArg);;thread=newThread(this);}publicvoidstart(){thread.start();}publicvoidrun(){intx=0;Graphicsg=getGraphics();while(true){try{Thread.sleep(time);}catch(Exceptione){e.printStackTrace();}g.clearRect(0,0,getWidth(),getHeight());g.drawString(str,x,30);x+=2;if(x=getWidth())x=0;}}}htmlbodyAppletcode=MoveMessage.classwidth=400height=60paramname=messagevalue=学好java有工作paramname=timevalue=200/Applet/body/html9、编写一个Java程序实现多线程,在线程中输出线程的名字,隔300毫秒输出一次,共输出20次。(p202,例8-1)//programmenameTestThread;//声明一个子线程类Threaddemo;classThreadDemoextendsThread{publicThreadDemo(Stringstr){super(str);}publicvoidrun(){for(inti=0;i20;i++){System.out.print(“”+this.getName());