您好,欢迎访问三七文档
一、程序填空题(每空3分,共30分)1.以下程序要求从键盘输入一个整数,判别该整数为几位数,并输出结果,请将下面的程序填写完整。publicclassBlank1{publicstaticvoidmain(String[]args)throwsIOException{Scannersc=newScanner((1));intcount=0,t;intx=sc.nextInt();sc.close();t=x;while(t!=0){count++;(2);}System.out.println(x+是+count+位数。);}}答案:(1)System.in(2)t=t/102.在下面的程序中使用方法重载分别实现了两个和三个整数的相加,请将下面的程序填写完整。classAddOver{public(3){returna+b;}publicintadd(inta,intb,intc){returna+b+c;}}publicclassBlank2{publicstaticvoidmain(String[]args){AddOvera=(4);System.out.println(a.add(1,2));System.out.println(a.add(1,2,3));}}答案:(3)intadd(inta,intb)(4)newAddOver()3.构造一个类来描述一个点,该类的构成包括点的x和y两个坐标,以及一些对点进行的操作,包括:取得点的坐标值,利用另一个点对当前点的坐标进行赋值,请将下面的程序填写完整。classPoint{intx,y;public(5)(intx,inty){this.x=x;this.y=y;}publicPointgetPoint(){Pointtemp=newPoint(0,0);temp.x=x;temp.y=y;return(6);}publicvoidsetPoint((7)){this.x=s.x;this.y=s.y;}}publicclassBlank3{publicstaticvoidmain(String[]args){Pointa=newPoint(3,4);Pointb=newPoint(0,0);b=a.getPoint();Pointc=newPoint(0,0);c.setPoint(b);}}答案:(5)Point(6)temp(7)Points4.下面的程序完成从D:\Hello.txt中读取文本并显示在屏幕上,请将下面的程序填写完整。classBlank4{publicstaticvoidmain(String[]args){StringfileName=D:/Hello.txt,line;try{BufferedReaderin=newBufferedReader((8));line=in.readLine();while((9)){System.out.println(line);line=(10);}in.close();}catch(IOExceptione){System.out.println(Problemreading+fileName);}}}答案:(8)newFileReader(fileName)(9)line!=null(10)in.readLine()5.下面的程序通过方法调用从包含7个学号的数组中随机抽取一个学号并输出显示,请将下面的程序填写完整。publicclassEx1{public(11)StringgetXh(){String[]xhs={201001,201002,201003,201004,201005,201006,201007};intindex=(12);//生成0~6之间的随机数。returnxhs[index];}publicstaticvoidmain(String[]args){System.out.println(随机抽取的学号为:+(13));}}答案:(11)static(12)(int)(Math.random()*7)(13)getXh()6.下面的程序定义了一个线程TimeThread,该线程每隔1秒钟输出显示一次当前系统时间,在main方法中使用TimeThread类创建3个新线程,并启动这些线程,请将下面的程序填写完整。importjava.util.*;classTimeThreadimplements(14){publicvoidrun(){while(true){DatecurrentTime=newDate();try{(15);//休眠1秒钟}catch(Exceptione){System.out.println(e.toString());}System.out.println(Thread.currentThread().getName()+:+currentTime);}}}publicclassEx2{publicstaticvoidmain(String[]args){String[]names={first,second,third};TimeThreadmyThread=newTimeThread();for(inti=0;i3;i++){ThreadthreadObj=newThread(myThread,names[i]);(16);//启动线程}}}答案:(14)Runnable(15)Thread.sleep(1000)(16)threadObj.start()7.下面的程序对“百鸡百钱”问题进行了求解,公鸡每只3元,母鸡每只5元,小鸡3只1元,用100元钱买100只鸡,公鸡、母鸡、小鸡应各买多少?请将程序填写完整。publicclassEx3{publicstaticvoidmain(String[]args){inta,b,c;for(a=0;(17);a++){for(b=0;(18);b++){c=100-a-b;if((3*a+5*b+c/3==100)&&((19)))System.out.println(公鸡:+a+母鸡:+b+小鸡:+c);}}}}答案:(17)a=33(18)b=20(19)c%3==08.下面的程序使用BufferedWriter类在D:\Hello.txt文件中写入10万个数并输出所用的时间,请将程序填写完整。importjava.io.*;publicclassEx4{publicstaticvoidmain(String[]args)throwsIOException{longt=System.currentTimeMillis();BufferedWriterfw=newBufferedWriter((20));for(inti=1;i=100000;i++){(21)(i+\n);}fw.close();t=System.currentTimeMillis()-t;System.out.println(Timeelapsed:+t+ms);}}答案:(20)newFileWriter(“D:\\Hello.txt”)(21)fw.write9.根据程序注释提示将下面的程序填写完整。classStringExample{publicstaticvoidmain(Stringargs[]){Strings1=newString(2012);Strings2=newString(100.50);intx=(22);//将s1转换为int类型doubley=(23);//将s2转换为double类型doublez=x+y;Strings3=(24);//将z转换为字符串StringBuffersbr=newStringBuffer(Thingking);Strings4=newString(inJava);(25);//将s4连接在sbr的后面System.out.println(sbr.toString());//显示为ThingkinginJava}}答案:(22)Integer.parseInt(s1)(23)Double.parseDouble(s2)(24)newString(z);或String.valueOf(z);或z+””(25)sbr.append(s4)10.下面的程序是采用冒泡法对数组元素按小到大的顺序排序,请将程序填写完整。publicclassArraySort{publicstaticvoidmain(String[]args){int[]a=newint[]{21,34,211,15,92,68,89,794,11,863};inttemp;for(inti=0;i10;i++)for(intj=0;j(26);j++)if(a[j]a[j+1]){temp=a[j];(27);(28);}for(inti=0;ia.length;i++)System.out.print(a[i]+);}}答案:(26)a.length-1-i或9-i(27)a[j]=a[j+1](28)a[j+1]=temp11.“同构数”是指这样的整数:它恰好出现在其平方数的右端,例如5和6就是同构数。请编写一程序找出10~999之间的同构数,并输出显示。publicclassTGS{publicstaticvoidmain(String[]args){for(inti=10;i=999;i++){if((29)||(30))System.out.println(i);}}}答案:(29)i*i%100==i(30)i*i%1000==i12.编程求出1-100之间偶数的和。publicclassExam1{publicstaticvoidmain(Stringargs[]){(31);//定义整型变量sumfor(inti=2;i=100;){sum+=i;(32);}System.out.println(1-100之间偶数的和是:+sum);}}答案:(31)intsum=0;(32)i=i+213.完成求n!的程序publicclassExam2{publicstaticvoidmain(Stringargs[]){factorial(3);factorial(6);factorial(9);}voidfactorial(intn){longm=1;for(intx=1;x=n;(33))(34);System.out.println(n+!=+m);}}答案:(33)x++(34)m=m*x14.下面的程序定义了一个线程PrintThread,该线程打印输出1~1000之间所有3的倍数,每输出一个数休眠1500毫秒,在main方法中创建了该线程的一个实例,并启动该线程。请将下面的程序填写完整。classPrintThreadextends(35){publicPrintThread(Stringstr){(36);//调用父类的构造方法}publicvoidrun(){for(inti=1;i=1000;i++){if(i%3==0)System.out.println(this.getName()+:+i);try{(37);//休眠1500毫秒}catch(Exceptione){System.out.println(e.toString());}}}}publicclassExam4{publicstaticvoidmain(String[]args){PrintThreadmyThread=newPrintThread(PrintThread);(38);//启动线程}}答案:(35)Thread(36)super(str)(37)sleep(1500)(38)myThread.start()15.中国有句俗语“三天打鱼两天晒网”,某人从2010年1月1日起三天打鱼两天晒网,编程计算2010年5月1日,他在打鱼还是在晒网。打鱼则输出1,晒网则输出0。请将程序填写
本文标题:java程序填空题
链接地址:https://www.777doc.com/doc-4990766 .html