java程序填空题.docx
- 文档编号:27315737
- 上传时间:2023-06-29
- 格式:DOCX
- 页数:15
- 大小:20.97KB
java程序填空题.docx
《java程序填空题.docx》由会员分享,可在线阅读,更多相关《java程序填空题.docx(15页珍藏版)》请在冰豆网上搜索。
java程序填空题
一、程序(chéngxù)填空题(每空3分,共30分)
1.以下(yǐxià)程序要求从键盘输入一个整数(zhěngshù),判别该整数为几位数,并输出(shūchū)结果(jiēguǒ),请将下面的程序填写完整。
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/10
2.在下面的程序中使用方法重载分别实现了两个和三个整数的相加,请将下面的程序填写完整。
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);
}
}
答案(dáàn):
(5)Point
(6)temp
(7)Points
4.下面(xiàmian)的程序完成从D:
\Hello.txt中读取文本并显示(xiǎnshì)在屏幕上,请将下面的程序(chéngxù)填写完整。
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);
}
}
}
答案(dáàn):
(8)newFileReader(fileName)
(9)line!
=null
(10)in.readLine()
5.下面的程序通过方法调用(diàoyòng)从包含7个学号的数组中随机抽取一个学号并输出显示,请将下面的程序填写完整。
publicclassEx1{
public(11)StringgetXh(){
String[]xhs={"201001","201002","201003","201004","201005","201006","201007"};
intindex=(12);//生成(shēnɡchénɡ)0~6之间的随机数。
returnxhs[index];
}
publicstaticvoidmain(String[]args){
System.out.println("随机(suíjī)抽取的学号为:
"+(13));
}
}
答案(dáàn):
(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;i<3;i++){
ThreadthreadObj=newThread(myThread,names[i]);
(16);//启动线程
}
}
}
答案(dáàn):
(14)Runnable
(15)Thread.sleep(1000)
(16)threadObj.start()
7.下面(xiàmian)的程序对“百鸡百钱”问题进行(jìnxíng)了求解,公鸡每只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);
}}
}}
答案(dáàn):
(17)a<=33
(18)b<=20
(19)c%3==0
8.下面(xiàmian)的程序使用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.write
9.根据程序注释提示将下面的程序填写完整。
classStringExample
{publicstaticvoidmain(Stringargs[])
{Strings1=newString("2012");
Strings2=newString("100.50");
intx=(22);//将s1转换(zhuǎnhuàn)为int类型
doubley=(23);//将s2转换(zhuǎnhuàn)为double类型(lèixíng)
doublez=x+y;
Strings3=(24);//将z转换(zhuǎnhuàn)为字符串
StringBuffersbr=newStringBuffer("Thingking");
Strings4=newString("inJava");
(25);//将s4连接(liánjiē)在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;i<10;i++)
for(intj=0;j<(26);j++)
if(a[j]>a[j+1]){
temp=a[j];
(27);
(28);
}
for(inti=0;i System.out.print(a[i]+""); } } 答案: (26)a.length-1-i或9-i (27)a[j]=a[j+1] (28)a[j+1]=temp 11.“同构数”是指这样的整数: 它恰好出现在其平方数的右端,例如5和6就是同构数。 请编写一程序找出10~999之间的同构数,并输出显示。 publicclassTGS{ publicstaticvoidmain(String[]args){ for(inti=10;i<=999;i++){ if((29)||(30)) System.out.println(i); } } } 答案(dáàn): (29)i*i%100==i (30)i*i%1000==i 12.编程求出1-100之间偶数(ǒushù)的和。 publicclassExam1{ publicstaticvoidmain(Stringargs[]){ (31);//定义(dìngyì)整型变量sum for(inti=2;i<=100;){ sum+=i; (32);} System.out.println("1-100之间偶数(ǒushù)的和是: "+sum); }} 答案(dáàn): (31)intsum=0; (32)i=i+2 13.完成求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*x 14.下面的程序定义了一个线程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);//启动(qǐdòng)线程} } 答案(dáàn): (35)Thread (36)super(str) (37)sleep(1500) (38)myThread.start() 15.中国有句俗语(súyǔ)“三天打鱼两天晒网”,某人从2010年1月1日起三天打鱼两天晒网,编程计算(jìsuàn)2010年5月1日,他在打鱼还是(háishi)在晒网。 打鱼则输出1,晒网则输出0。 请将程序填写完整。 publicclassExam4{ publicstaticvoidmain(String[]args){ int[]dpm={0,31,28,31,30,31,30,31,31,30,31,30,31}; intmonth=5;//表示5月 intday=1;//表示1日 for(inti=0;(39);i++){ day=day+dpm[i]; } day=day%5; if((40)) System.out.println("1");//表示打鱼 else System.out.println("0");//表示晒网} } 答案: (40)i (41)day>0&&day<=3 16.调用函数f输出n的所有质数因子如n=13860则输出22335711 publicclassJModify{ publicstaticvoidf(intn){ inti=2; while(n>1){ ____(42)____{ System.out.println(i); n/=i; } else{ ____(43)____ } }} publicstaticvoidmain(Stringargs[]){ intn=100; f(n); } } 答案(dáàn): (42)if(n%i==0) (43)i++ 17.下面的程序通过方法调用(diàoyòng)从包含4个手机号码的字符串数组中随机抽取一个幸运手机号并输出(shūchū)显示,请根据提示将程序填写完整。 publicclassRandomTel{ public(44)StringgetTel(){ String[]tels={"138****8080","189****6666","133****1234","139****9999"}; intindex=(45);//用Math类中的方法(fāngfǎ)生成0~3之间的随机数 returntels[index]; } publicstaticvoidmain(String[]args){ System.out.println("随机(suíjī)幸运手机号为: "+(46)); } } 答案: (44)static (45)(int)(Math.random()*4) (46)getTel() 18.宾馆里有100个房间,从1-100进行编号,第一个服务员将所有的房间门都打开,第二个服务员把所有编号是2的倍数的房间“相反处理”,第三个服务员将所有编号是3的倍数的房间再作“相反处理”……,以后每个服务员都是如此操作,当第100个服务员来过后,请编程计算哪几个房间的门是打开的? (所谓“相反处理”是指原来开着的门关上,原来关上的门打开)请将程序填写完整。 publicclassHotelDoor{ publicstaticvoidmain(String[]args){ boolean[]a=newboolean[101]; finalintN=101; inti,j; for(i=1;i for(i=2;i for((48);j if(j%i==0)(49);//执行相反处理 for(i=1;i if(a[i]==true)System.out.print(i+"");//显示打开状态的房间编号 }} 答案: (47)a[i]=true (48)j=i (49)a[j]=! a[j] 19.以下程序(chéngxù)要求从键盘输入一整数,判别该整数是否是素数,并输出“是素数(sùshù)”或“不是(bùshi)素数”,请将程序(chéngxù)填写完整。 importjava.util.*; publicclassPrimeExam{ publicstaticvoidmain(String[]args)throwsIOException{ publicstaticvoidmain(String[]args){ Scannersr=newScanner((50)); intflag=0; intx=sr.(51); inty=(int)Math.sqrt(x); for(inti=2;i<=y;i++){ if((52)){ System.out.println("不是(bùshi)素数"); flag=1; break; } } if((53)) System.out.println("是素数"); } } 答案: (50)System.in (51)nextInt() (52)x%i==0 (53)flag==0 内容总结 (1)一、程序填空题(每空3分,共30分)以下程序要求从键盘输入一个整数,判别该整数为几位数,并输出结果,请将下面的程序填写完整 (2)}System.out.println(x+"是"+count+"位数(3)//表示打鱼elseSystem.out.println("0")(4),以后每个服务员都是如此操作,当第100个服务员来过后,请编程计算哪几个房间的门是打开的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 程序 填空