x=__________________________________________;
returnx;
}
9.代码填空
本程序将网站“”首页的内容复制保存在文件test.html中。
写了如下代码,请完善之:
import.*;
importjava.io.*;
classDaSai{
publicstaticvoidmain(String[]args)throwsException{
URLurl=__________________________________;
BufferedReaderin=_________________________________;
StringinString;
Fileoutfile=newFile("test.html");
PrintWriterout=newPrintWriter(newFileWriter(outfile));
while((inString=in.readLine())!
=null){
out.println(inString);
}
in.close();
out.close();
}
}
10.代码填空
该程序完整代码的运行结果如下,请在指定位置添加代码,实现程序功能。
程序运行结果:
(1)当输入abc时,运行结果如下:
abcistooshort!
发生字符串太短异常:
StringTooShortException
程序执行结束
(2)当输入abcdef,运行结果如下:
abcdef
程序执行结束
(3)当输入abcdefghijklmn时,运行结果如下:
abcdefghijklmnistoolong!
发生字符串太长异常:
StringTooLongException
程序执行结束
程序代码:
importjava.io.*;
publicclassTest{
staticvoidmyFunc(Strings)
throwsStringTooShortException,StringTooLongException
{
if(s.length()>=5&&s.length()<=10)
System.out.println(s);//没有异常发生,正常显示字符串信息
elseif(s.length()<5)
__________________________________;
else
___________________________________;
}
publicstaticvoidmain(Stringargs[])throwsIOException{
InputStreamReaderin=newInputStreamReader(System.in);
BufferedReaderbr=newBufferedReader(in);
Stringstr=br.readLine();
try{myFunc(str);}
catch(StringTooShortExceptione)//捕捉字符串太短异常
{System.out.println("发生字符串太短异常:
"+e);}
catch(StringTooLongExceptione)//捕捉字符串太长异常
{System.out.println("发生字符串太长异常:
"+e);}
finally//程序最后执行位置
{System.out.println("程序执行结束");}
}
}
/////////////////////////////////////////////////////////////////////////
classStringTooShortExceptionextendsException{//自定义字符串太短异常类
publicStringTooShortException(Strings){
System.out.println(s+"istooshort!
");
}
}
classStringTooLongExceptionextendsException{//自定义字符串太短异常类
publicStringTooLongException(Strings){
System.out.println(s+"istoolong!
");
}
}
////////////////////////////////////////////////////////////////////////
11.代码填空
以下程序运行的结果如下,请根据程序的运行结果在下划线处填写相应代码。
程序的运行结果:
(2.5,3.5,4.5)
(2.5,3.5,4.5)
给出的程序代码:
classPoint{
privatedoublex,y,z;
publicPoint(doublea,doubleb,doublec){
x=a;
y=b;
z=c;
}
publicObjectclone(){
Objectobj=___;
returnobj;
}
publicStringtoString(){
Stringstr=____;
returnobj;
}
}
publicclassTest{
publicstaticvoidmain(String[]arg){
Pointp=newPoint(2.5,3.5,4.5);
Pointq=(Point)p.clone();
System.out.println(p);
System.out.println(q);
}
}
12.代码填空
以下程序的运行结果始终如下,请在下划线处添加相应代码。
运行结果:
DDDDDDDD
CCCCCCCC
BBBBBBBB
AAAAAAAA
程序代码:
importjava.util.*;
classA{
Stringsa;
A(Stringstr){
sa=str;
}
publicStringtoString(){
returnsa;
}
}
publicclassB{
publicstaticvoidmain(Stringargs[]){
Setset=newHashSet();
set.add(newA("AAAAAAAA"));
set.add(newA("BBBBBBBB"));
set.add(newA("CCCCCCCC"));
set.add(newA("DDDDDDDD"));
______;
while(it.hasNext()){
System.out.println(it.next());
}
}
}
13.代码填空
编写程序将2行3列的数组行列置换复制给3行2列的数组(即数组的转置)。
已经写了如下代码,请完善之:
classy{
publicstaticvoidmain(String[]args)throwsException{
inta[][]={{1,2,3},{4,5,6}};
intb[][]=newint[3][2];
for(inti=0;i<2;i++){
for(intj=0;j<3;j++){
_____________________;
}
}
}
}
14.代码填空
显示“DaSai”目录下以”Ex”开头的文件和目录,写了如下代码,请完善之:
importjava.io.*;
classJavaFilterimplementsFilenameFilter{
Stringjf;
JavaFilter(Strings){
jf=s;
}
//实现FilenameFilter接口的accept()方法
publicbooleanaccept(Filedir,Stringname){
returnname.startsWith(jf);//name的前缀是否是参数jf
}
}
publicclassEx{
publicstaticvoidmain(String[]args)throwsException{
Filef=newFile("/DaSai");
//过滤以“Ex”开头的文件和目录,存放到字符串数组s中。
Strings[]=____________________________;
for(inti=0;iFileff=newFile(s[i]);//根据s[i]创建File类对象
if(ff.isDirectory())
System.out.println(s[i]+"isadirectory");
else
System.out.println(s[i]+"isafile");
}
}
}
15.代码填空
以下程序打印出0~9的数字,请补充缺少的代码。
publicclassMyTest
{
publicstaticvoidf(intbegin,intend)
{
__________________;
System.out.println(begin);
f(begin+1,end);
}
publicstaticvoidmain(String[]args)
{
f(0,9);
}
}
16.代码填空
在ABCDEF六人中随机抽取3人中奖,要求中奖人不能重复。
请完善以下代码:
publicclassMyTest
{
publicstaticvoidmain(String[]args)
{
Vectora=newVector();
for(chari='A';i<='F';i++)a.add(""+i);
for(intk=0;k<3;k++)
{
intd=____________________________;
System.out.println(a.remove(d));
}
}
}
17.代码填空
不同进制的数值间的转换是软件开发中很可能会遇到的常规问题。
下面的代码演示了如何把键盘输入的3进制数字转换为十进制。
试完善之。
BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));
Strings=br.readLine();
intn=0;
for(inti=0;i{
charc=s.charAt(i);
if(c<'0'||c>'2')thrownewRuntimeException("Formaterror");
n=______________________;
}
System.out.println(n);
18.代码填空
许多人都曾经玩过“拍七”游戏。
规则是:
大家依次从1开始顺序数数,数到含有7或7的倍数的要拍手或其它规定的方式表示越过(比如:
7,14,17等都不能数出),下一人继续数下面的数字。
违反规则者受罚。
下面的程序模拟这个过程,拍7的情况输出“*”,请完善之。
for(inti=1;i<100;i++)
{
if(i%7==0)
printf("*\n");
elseif(___________________)
printf("*\n");
else
printf("%d\n",i);
}
19.代码填空
java中,所有的字符都用unicode编码格式表示,占用2个字节。
但当需要把一个字符流化到外设(比如写出到磁盘,通过网络传输等)时,就会涉及到编码方式。
如果流化与反流化的编码方式不同,就会产生俗称的“乱码”现象。
下列代码从磁盘读入一个用GBK编码的文本文件a.txt,写出为一个用utf-8编码的文件:
b.txt,即实现了编码方式转换。
请补充缺失的代码。
BufferedReaderbr=newBufferedReader(newInputStreamReader(newFileInputStream("a.txt"),"GBK"));
BufferedWriterbw=_________________________________________;
for(;;)
{
Strings=br.readLine();
if(s==null)break;
bw.write(s);
bw.newLine();
bw.flush();
}
20.代码填空
不同进制的数值间的转换是软件开发中很可能会遇到的常规问题。
下面的代码演示了如何把键盘输入的3进制数字转换为十进制。
试完善之。
BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));
Strings=br.readLine();
intn=0;
for(inti=0;i{
charc=s.charAt(i);
if(c<'0'||c>'2')thrownewRuntimeException("Formaterror");
n=______________________;
}
System.out.println(n);
21.代码填空
有n个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到3的人出列,下一个人继续从1报数,直到最后剩下一个孩子为止。
问剩下第几个孩子。
下面的程序以10个孩子为例,模拟了这个过程,请完善之(提示:
报数的过程被与之逻辑等价的更容易操作的过程所代替)。
Vectora=newVector();
for(inti=1;i<=10;i++)
{
a.add("第"+i+"个孩子");
}
for(;;)
{
if(a.size()==1)break;
for(intk=0;k<2;k++)
________________;
a.remove(0);
}
System.out.println(a);
22.代码填空
(a+b)的n次幂的展开式中各项的系数很有规律,对于n=2,3,4时分别是:
121,1331,14641。
这些系数构成了著名的杨辉三角形:
1
11
121
1331
14641
15101051
下列的程序给出了计算第m层的第n个系数的计算方法,试完善之(m,n都从0算起)。
publicstaticintf(intm,intn)
{
if(m==0)return1;
if(n==0||n==m)return1;
return__________________________;
}
23.代码填空
以下程序打印出0~9的数字,请补充缺少的代码。
publicclassMyTest
{
publicstaticvoidf(intbegin,intend)
{
__________________;
System.out.println(begin);
f(begin+1,end);
}
publicstaticvoidmain(String[]args)
{
f(0,9);
}
}
24.代码填空
如果要把两个整型变量a、b的值交换,一般要采用一个中间变量做过渡,但也可以在不借助任何其它变量的情况下完成。
试填写缺失的代码。
a=a^b;
b=_________;
a=_________;
25.代码填空
下面的静态方法的目的是求出某个日期是该年度的第几天。
试完善之。
如果传入:
year=1980,month=1,day=1
则返回1
如果传入:
year=1980,month=2,day=1
则返回32
publicstaticintgetDayOfYear(intyear,intmonth,intday)
{
int[][]days=_____________________;
intflag=(year%4==0&&year%100!
=0)||year%400==0?
1:
0;
intsum=day;
for(inti=0;isum+=days[flag][i];
}
returnsum;
}
26.代码填空
下列方法的目的是,找出1~n之间所有的平方数。
试补全缺失的代码。
当n=10时,输出结果是:
149
当n=100时,输出结果是:
149162