《java程序填空题.doc》由会员分享,可在线阅读,更多相关《java程序填空题.doc(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datejava程序填空题java程序填空题一、程序填空题(每空3分,共30分)1. 以下程序要求从键盘输入一个整数,判别该整数为几位数,并输出结果,请将下面的程序填写完整。public class Blank1 public static void main(String args) throws IOException Scanner sc=new Scanner( (1
2、) );int count=0,t;int x=sc.nextInt();sc.close();t=x;while(t!=0)count+; (2) ;System.out.println(x+是+count+位数。);答案:(1)System.in (2)t=t/102. 在下面的程序中使用方法重载分别实现了两个和三个整数的相加,请将下面的程序填写完整。class AddOverpublic (3) return a+b;public int add( int a, int b, int c )return a+b+c ;public class Blank2 public static v
3、oid main(String args)AddOver a= (4) ;System.out.println(a.add(1,2);System.out.println(a.add(1,2,3);答案:(3)int add(int a,int b) (4)new AddOver()3. 构造一个类来描述一个点,该类的构成包括点的x和y两个坐标,以及一些对点进行的操作,包括:取得点的坐标值,利用另一个点对当前点的坐标进行赋值,请将下面的程序填写完整。class Point int x,y; public (5) (int x, int y) this.x=x; this.y=y; public
4、 Point getPoint() Point temp = new Point(0,0); temp.x=x; temp.y=y; return (6) ; public void setPoint( (7) ) this.x=s.x; this.y=s.y; public class Blank3 public static void main(String args)Point a = new Point(3,4); Point b = new Point(0,0);b=a.getPoint(); Point c = new Point(0,0); c.setPoint(b);答案:(5
5、)Point (6)temp(7)Point s4. 下面的程序完成从D:Hello.txt中读取文本并显示在屏幕上,请将下面的程序填写完整。class Blank4 public static void main ( String args ) String fileName = D:/Hello.txt, line; try BufferedReader in = new BufferedReader( (8) ); line = in.readLine(); while ( (9) ) System.out.println( line ); line = (10) ; in.close(
6、); catch (IOException e) System.out.println(Problem reading + fileName ); 答案:(8)new FileReader(fileName) (9)line!=null(10)in.readLine()5.下面的程序通过方法调用从包含7个学号的数组中随机抽取一个学号并输出显示,请将下面的程序填写完整。public class Ex1 public (11) String getXh()String xhs = 201001,201002,201003,201004,201005,201006,201007;int index
7、= (12) ; /生成06之间的随机数。return xhsindex;public static void main(String args)System.out.println(随机抽取的学号为:+ (13) );答案:(11)static (12)(int)(Math.random()*7)(13)getXh()6. 下面的程序定义了一个线程TimeThread,该线程每隔1秒钟输出显示一次当前系统时间,在main方法中使用TimeThread类创建3个新线程,并启动这些线程,请将下面的程序填写完整。import java.util.*;class TimeThread impleme
8、nts (14) public void run() while (true) Date currentTime = new Date(); try (15) ; / 休眠1秒钟 catch (Exception e) System.out.println(e.toString();System.out.println(Thread.currentThread().getName()+: +currentTime); public class Ex2 public static void main(String args) String names=first,second,third; Ti
9、meThread myThread = new TimeThread(); for(int i=0;i3;i+) Thread threadObj= new Thread(myThread,namesi); (16) ; /启动线程 答案:(14)Runnable (15)Thread.sleep(1000) (16)threadObj.start()7.下面的程序对“百鸡百钱”问题进行了求解,公鸡每只3元,母鸡每只5元,小鸡3只1元,用100元钱买100只鸡,公鸡、母鸡、小鸡应各买多少?请将程序填写完整。public class Ex3 public static void main(Str
10、ing args)int a,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万个数并输出所用的时间,请将程序填写完整。import java.io.*;public class Ex4 public stati
11、c void main(String args) throws IOExceptionlong t = System.currentTimeMillis();BufferedWriter fw =new BufferedWriter( (20) );for (int i=1;i=100000;i+) (21) ( i + n);fw.close();t=System.currentTimeMillis()-t;System.out.println(Time elapsed: +t +ms);答案:(20)new FileWriter(“D:Hello.txt”) (21)fw.write 9.
12、根据程序注释提示将下面的程序填写完整。class StringExample public static void main(String args) String s1=new String(2012); String s2=new String(100.50); int x = (22) ; / 将s1转换为int类型 double y = (23) ; / 将s2转换为double类型 double z = x + y; String s3 = (24) ; /将z转换为字符串 StringBuffer sbr = new StringBuffer(Thingking); String
13、s4 = new String(in Java); (25) ; /将s4连接在sbr的后面System.out.println(sbr.toString(); /显示为 Thingking in Java 答案:(22)Integer.parseInt(s1) (23)Double.parseDouble(s2) (24)new String(z); 或 String.valueOf(z); 或 z+”(25)sbr.append(s4)10. 下面的程序是采用冒泡法对数组元素按小到大的顺序排序,请将程序填写完整。 public class ArraySort public static v
14、oid main(String args)int a = new int21,34,211,15,92,68,89,794,11,863;int temp;for(int i=0;i10;i+)for(int j=0;jaj+1)temp = aj; (27) ; (28) ; for(int i=0;ia.length;i+) System.out.print(ai+ ); 答案:(26)a.length -1-i或 9-i (27)aj = aj+1 (28)aj+1 = temp11. “同构数”是指这样的整数:它恰好出现在其平方数的右端,例如5和6就是同构数。请编写一程序找出10999
15、之间的同构数,并输出显示。public class TGS public static void main(String args) for(int i=10;i=999;i+)if ( (29) | (30) )System.out.println(i); 答案:(29)i*i % 100 = i (30)i*i % 1000=i 12编程求出1-100之间偶数的和。public class Exam1public static void main(String args) (31) ;/定义整型变量sum for(int i=2;i=100;) sum+=i; (32) ; System.
16、out.println(1-100之间偶数的和是:+sum); 答案:(31)int sum =0; (32)i=i+213完成求n!的程序public class Exam2public static void main(String args) factorial(3);factorial(6);factorial(9); void factorial(int n) long m=1;for (int x=1;x=n; (33) ) (34) ;System.out.println(n+!=+m);答案:(33)x+ (34)m=m*x14下面的程序定义了一个线程PrintThread,该
17、线程打印输出11000之间所有3的倍数,每输出一个数休眠1500毫秒,在main方法中创建了该线程的一个实例,并启动该线程。请将下面的程序填写完整。class PrintThread extends (35) public PrintThread(String str) (36) ; / 调用父类的构造方法 public void run() for(int i=1;i=1000;i+) if(i % 3 =0)System.out.println(this.getName()+: +i); try (37) ; / 休眠1500毫秒 catch (Exception e) System.ou
18、t.println(e.toString(); public class Exam4 public static void main(String args) PrintThread myThread = new PrintThread(PrintThread); (38) ; /启动线程 答案:(35)Thread (36)super(str) (37)sleep(1500)(38)myThread.start()15中国有句俗语“三天打鱼两天晒网”,某人从2010年1月1日起三天打鱼两天晒网,编程计算2010年5月1日,他在打鱼还是在晒网。打鱼则输出1,晒网则输出0。请将程序填写完整。pu
19、blic class Exam4 public static void main(String args) int dpm=0,31,28,31,30,31,30,31,31,30,31,30,31;int month=5; / 表示5月int day=1; / 表示1日for(int i=0; (39) ; i+ )day=day+dpmi;day = day % 5;if ( (40) )System.out.println(1); / 表示打鱼elseSystem.out.println(0); / 表示晒网 答案:(40) imonth 或i0 & day1)_ (42) _Syste
20、m.out.println(i);n/=i;else_(43) _public static void main(String args)int n=100;f(n); 答案:(42)if(n%i=0) (43)i+17.下面的程序通过方法调用从包含4个手机号码的字符串数组中随机抽取一个幸运手机号并输出显示,请根据提示将程序填写完整。public class RandomTel public (44) String getTel()String tels = 138*8080,189*6666,133*1234,139*9999;int index = (45) ; /用Math类中的方法生成
21、03之间的随机数return tels index;public static void main(String args)System.out.println(随机幸运手机号为:+ (46) );答案:(44)static (45)(int)(Math.random()*4)(46)getTel()18. 宾馆里有100个房间,从1-100进行编号,第一个服务员将所有的房间门都打开,第二个服务员把所有编号是2的倍数的房间“相反处理”,第三个服务员将所有编号是3的倍数的房间再作“相反处理”,以后每个服务员都是如此操作,当第100个服务员来过后,请编程计算哪几个房间的门是打开的?(所谓“相反处理
22、”是指原来开着的门关上,原来关上的门打开)请将程序填写完整。public class HotelDoor public static void main(String args)boolean a=new boolean101;final int N=101;int i,j;for(i=1;iN;i+) (47) ; /第1个服务员将所有房间设置为打开状态for(i=2;iN;i+)for( (48) ; jN; j+)if(j%i=0) (49) ; /执行相反处理for(i=1;iN;i+)if(ai=true) System.out.print(i+ ); /显示打开状态的房间编号 答案
23、:(47)ai=true (48)j=i(49)aj=!aj19. 以下程序要求从键盘输入一整数,判别该整数是否是素数,并输出“是素数”或“不是素数”,请将程序填写完整。import java.util.*;public class PrimeExam public static void main(String args) throws IOException public static void main(String args)Scanner sr= new Scanner( (50) );int flag=0;int x = sr. (51) ; int y = (int)Math.sqrt(x); for(int i=2;i=y;i+) if( (52) ) System.out.println(不是素数); flag=1; break; if( (53) )System.out.println(是素数); 答案:(50)System.in (51)nextInt()(52)x % i =0 (53)flag=0-
限制150内