欢迎来到天天文库
浏览记录
ID:11360045
大小:38.00 KB
页数:5页
时间:2018-07-11
《传智播客入学测试题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、以下是测试题一、Java部分试题试题1:(5分)编写一个程序,这个程序把一个整数数组中的每个元素用逗号连接成一个字符串,例如,根据内容为[1][2][3]的数组形成内容为"1,2,3"的字符串。publicclasstest01{publicstaticvoidmain(Stringargs[]){int[]arrays={1,2,3,4,5,6,7,8,9};for(inti=0;i2、ength-1){System.out.print(",");}}}}试题2:(6分)请在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),否则,返回-1。要搜索的字符数组和字符都以参数形式传递传递给该方法,如果传入的数组为null,应抛出IllegalArgumentException异常。在类的main方法中以各种可能出现的情况测试验证该方法编写得是否正确,例如,字符不存在,字符存在,传入的数组为null等。试题33、:(8分)编写一个程序,它先将键盘上输入的一个字符串转换成十进制整数,然后打印出这个十进制整数对应的二进制形式。这个程序要考虑输入的字符串不能转换成一个十进制整数的情况,并对转换失败的原因要区分出是数字太大,还是其中包含有非数字字符的情况。提示:十进制数转二进制数的方式是用这个数除以2,余数就是二进制数的最低位,接着再用得到的商作为被除数去除以2,这次得到的余数就是次低位,如此循环,直到被除数为0为止。其实,只要明白了打印出一个十进制数的每一位的方式(不断除以10,得到的余数就分别是个位,十位,百位),就很4、容易理解十进制数转二进制数的这种方式。试题4:(10分)请用移位的方式打印出一个十进制整数的十六进制形式。提示:按每4个二进制位对整数进行移位和去高位处理,得到的结果就是十六进制数的一位,然后按下面三种方式之一(作为作业,要求每种方式都用到)计算出一个十六进制数值对应的十六进制形式:·(1)0-9之间的数值直接加上字符'0',9以上的数值减去10以后再加上字符'A'·(2)定义一个数组,其中包含0-F这些字符,然后用要计算的数值作为数组的索引号,即可获得其对应的十六进制数据。·(3)Character.fo5、rDigit静态方法可以将一个十六进制的数字转变成其对应的字符表示形式,例如,根据数值15返回字符'F'。试题5:(7分)编写一个程序,用于实现文件的备份,程序运行时的命令语法为:javaMyCopy(sourcefile)(destfile)试题6:(选做)请编写一个字符输入流的包装类,通过这个包装类对底层字符输入流进行包装,让程序通过这个包装类读取某个文本文件(例如,一个java源文件)时,能够在读取的每行前面都加上有行号和冒号。importjava.io.*;classMyBufferReader{p6、rivateReaderr;privateintlineNumber;MyBufferReader(Readerr){this.r=r;}publicStringMyReadLine()throwsIOException{lineNumber++;StringBuildersb=newStringBuilder();//建立一个缓冲区intnum=0;while((num=r.read())!=-1){if(num=='r')continue;if(num=='')returnsb.toString(7、);elsesb.append((char)num);}if(sb.length()!=0)//如果缓冲区还存在数据,就将这些数据返回returnr.toString();returnnull;}voidsetLineNumber(intlineNumber){this.lineNumber=lineNumber;}intgetLinenumber(){returnlineNumber;}publicvoidMyClose()throwsIOException{//模仿BufferRead()的close(8、)方法r.close();}}publicclassTestBufferReader{publicstaticvoidmain(String[]args)throwsIOException{FileReaderfr=newFileReader("D:\hello.txt");MyBufferReadermbr=newMyBufferReader(fr);//将对象载入到缓冲区Stringline=null;wh
2、ength-1){System.out.print(",");}}}}试题2:(6分)请在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),否则,返回-1。要搜索的字符数组和字符都以参数形式传递传递给该方法,如果传入的数组为null,应抛出IllegalArgumentException异常。在类的main方法中以各种可能出现的情况测试验证该方法编写得是否正确,例如,字符不存在,字符存在,传入的数组为null等。试题3
3、:(8分)编写一个程序,它先将键盘上输入的一个字符串转换成十进制整数,然后打印出这个十进制整数对应的二进制形式。这个程序要考虑输入的字符串不能转换成一个十进制整数的情况,并对转换失败的原因要区分出是数字太大,还是其中包含有非数字字符的情况。提示:十进制数转二进制数的方式是用这个数除以2,余数就是二进制数的最低位,接着再用得到的商作为被除数去除以2,这次得到的余数就是次低位,如此循环,直到被除数为0为止。其实,只要明白了打印出一个十进制数的每一位的方式(不断除以10,得到的余数就分别是个位,十位,百位),就很
4、容易理解十进制数转二进制数的这种方式。试题4:(10分)请用移位的方式打印出一个十进制整数的十六进制形式。提示:按每4个二进制位对整数进行移位和去高位处理,得到的结果就是十六进制数的一位,然后按下面三种方式之一(作为作业,要求每种方式都用到)计算出一个十六进制数值对应的十六进制形式:·(1)0-9之间的数值直接加上字符'0',9以上的数值减去10以后再加上字符'A'·(2)定义一个数组,其中包含0-F这些字符,然后用要计算的数值作为数组的索引号,即可获得其对应的十六进制数据。·(3)Character.fo
5、rDigit静态方法可以将一个十六进制的数字转变成其对应的字符表示形式,例如,根据数值15返回字符'F'。试题5:(7分)编写一个程序,用于实现文件的备份,程序运行时的命令语法为:javaMyCopy(sourcefile)(destfile)试题6:(选做)请编写一个字符输入流的包装类,通过这个包装类对底层字符输入流进行包装,让程序通过这个包装类读取某个文本文件(例如,一个java源文件)时,能够在读取的每行前面都加上有行号和冒号。importjava.io.*;classMyBufferReader{p
6、rivateReaderr;privateintlineNumber;MyBufferReader(Readerr){this.r=r;}publicStringMyReadLine()throwsIOException{lineNumber++;StringBuildersb=newStringBuilder();//建立一个缓冲区intnum=0;while((num=r.read())!=-1){if(num=='r')continue;if(num=='')returnsb.toString(
7、);elsesb.append((char)num);}if(sb.length()!=0)//如果缓冲区还存在数据,就将这些数据返回returnr.toString();returnnull;}voidsetLineNumber(intlineNumber){this.lineNumber=lineNumber;}intgetLinenumber(){returnlineNumber;}publicvoidMyClose()throwsIOException{//模仿BufferRead()的close(
8、)方法r.close();}}publicclassTestBufferReader{publicstaticvoidmain(String[]args)throwsIOException{FileReaderfr=newFileReader("D:\hello.txt");MyBufferReadermbr=newMyBufferReader(fr);//将对象载入到缓冲区Stringline=null;wh
此文档下载收益归作者所有