Java程序设计总复习题1、使用冒泡排序2、实现会员注册,要求用户名长度不小于3,密码长度不小于6,注册时两次输入密码必须相同3、一个景区根据游人的年龄收取不同价格的门票。请编写游人类,根据年龄段决定能够购买的门票价格并输出,然后写出测试类测试该类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());}}}9、编写一个Java程序实现多线程,在线程中输出线程的名字,隔300毫秒输出一次,共输出20次。(p202,例8-1)//programmenameTestThread;//声明一个子线程类Threaddemo;classThreadDemoextendsThread{publicThreadDemo(Stringstr){super(str);}publicvoidrun(){for(inti=0;i20;i++){System.out.print(“”+this.getName());Try{Sleep(300);}catch(InterruptedExceptione){System.out.println(e.getMessage());Return;}}System.out.println(“/end”);}}publicclassTestThread{publicstaticvoidmain(Stringargs[]){ThreadDemothread1=newThreadDemo(“T1”);ThreadDemothread2=newThreadDemo(“T2”);ThreadDemothread3=newThreadDemo(“T3”);thread1.start();thread2.start();thread3.start();}}10.编写程序,在屏幕上显示带标题的窗口,并添加一个按钮。当用户单击按钮时,结束程序。//ProgrammeNameButtonEventDemo.javaimportjavax.swing.*;importjava.awt.event.*;publicclassButtonEventDemoextendsJPanelimplementsActionListener{protectedJButtonb1;//声明一个按钮对象publicButtonEventDemo(){//构造方法ImageIconButtonIcon=newImageIcon(images/green.png);//创建按钮的图标对象b1=newJButton(退出按钮,ButtonIcon);//生成按钮对象b1.setMnemonic(KeyEvent.VK_E);//设置b1的助记符是Alt+Eb1.setToolTipText(这是退出按钮。);//设置按钮提示条this.add(b1);//往面板对象中加载按钮b1.addActionListener(this);//本类对象注册为按钮的事件监听器}p