程序调试与11程序填空Word文件下载.docx
- 文档编号:15315507
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:47
- 大小:165.60KB
程序调试与11程序填空Word文件下载.docx
《程序调试与11程序填空Word文件下载.docx》由会员分享,可在线阅读,更多相关《程序调试与11程序填空Word文件下载.docx(47页珍藏版)》请在冰豆网上搜索。
+c);
#8}
#9publicintsum(inta,intb){
#10returna+b;
#11}
#12}
答:
#1publicclasstest2_1{
#3publicstaticvoidmain(String[]args){
#9publicstaticintsum(inta,intb){
【解析】类的声明中规定,类体必须用一对大括号括起来,因此在第1行类名后加一左大括号;
第3行main方法名写错,需纠正;
由于main方法是类方法,其中调用的方法也必须是类方法,因此第9行的方法声明中加入static。
2.下面的应用程序执行时会发生错误,正确的应用程序执行后输出的结果如下所示:
运行结果如下:
C:
javatest2_2
4foods
14televisions
10foods
#1publicclasstest2_2{
#2publicvoidmain(String[]args){
#3Itemt1=Item("
food"
);
#4System.out.println(t1);
#5Itemt2=newItem("
television"
#6System.out.println(t2);
#7t2.setValue(10);
#8System.out.println(t1);
#9}
#10}
#11classItem{
#12privatename;
#13privatestaticintvalue=0;
#14publicItem(StringtheName){
#15name=theName;
#16value=value+theName.length();
#17}
#18publicvoidsetValue(intnewValue){
#19value=newValue;
#20}
#21publicStringtoString(){
#22returnvalue+"
+name+"
s"
;
#23}
#24}
#2publicstaticvoidmain(String[]args){
#3Itemt1=newItem("
#12privateStringname;
【解析】java应用程序中main方法是程序执行的入口,规定该方法必须是static方法,因此对第2行进行修改;
第3行在实例化对象t1时应通过new运算符来完成;
第12行声明成员变量时,应明确变量类型,根据上下文判断应为String型。
(二)语法错误与逻辑错误调试题
3.下面的应用程序通过近似计算公式
求得圆周率。
n的取值由该公式所得到的数值与3.1415926的差值小于0.00001决定。
程序执行时发生错误,请修改并调试程序。
#1publicclassPI{
#2publicstaticvoidmain(args[])
#3{
#4intn=1;
#5intpi=2;
#6doublep=3.1415926;
#7while(Math.abs(p-pi)<
0.00001){
#8pi=pi*(2*n)/(2*n-1)*(2*n)/(2*n+1);
#9n++;
#10}
#11System.out.println("
n="
+n);
#12}
#13}
#2publicstaticvoidmain(Stringargs[])
#5doublepi=2;
#7while(Math.abs(p-pi)>
=0.00001)
【解析】程序中main方法的参数缺少类型说明,应该是String,因此对第2行进行修改;
通过阅读程序可见,变量pi将存放圆周率的运算值,所以应改为double类型;
第7行是条件式写错
4.下面的程序执行时会发生错误,正确的程序将逐行读取C盘根目录中的文件sale.txt,并将读入的内容显示在屏幕上,请修改并调试程序。
#1importjava.io.*;
#2publicclassFileReadIn{
#3publicstaticvoidmain(Stringargs[]){
#4Strings="
"
#5try{
#6FileReaderfr=newFileReader("
\sale.txt"
#7BufferedReaderbfr=newBufferedReader(fr);
#8Stringstr1;
#9while((str1=bfr.readLine())=null)
#10s=str1+"
\n"
#11bfr.close();
}
#12catch(IOExceptione){
#13System.out.println(e);
}
#14System.out.print(s);
#15}
\\sale.txt"
#9while((str1=bfr.readLine())!
=null)
#10s=s+str1+"
【解析】程序中第6行盘符与文件名之间的分隔符应采用转义符"
\\"
;
第9行循环语句中的条件应是只要没有读完就继续读,所以应改为“str1=bfr.readLine())!
=null”,意思是读入的内容不为空条件为真,继续循环;
程序中第10行的变量s只存放了最后一次从文件中读入的内容,而不是文件的全部内容,因此应改为“s=s+str1+"
”。
(三)逻辑错误调试题
5.下面的应用程序执行时会发生错误,正确的应用程序执行后输出的结果如下图所示:
#1publicclassTest2_1{
#2publicstaticvoidmain(Stringargs[]){
#3inti;
#4for(i=1;
i<
=8;
i+=1)
#5disp(i);
#6}
#7staticvoiddisp(inti){
#8for(intk=8;
k>
=i;
k++)
#9System.out.print("
#10for(intk=1;
k<
#11System.out.print("
*"
#12System.out.print("
#13}
#14}
i+=2)
k--)
#12System.out.println();
【解析】程序中第4行是用于控制图案行数的,因此步长应改为2;
阅读程序可见,disp方法是用来显示行信息的,行信息包括二部分,前一部分为空格,后一部分为“*”,第8行语句中的k++方向错了,应改为k--;
第12行语句应该用于换行,而不是加一个空格,因此应改为“System.out.println();
6.下面的应用程序执行时会发生错误,正确的应用程序执行后输出的结果如下所示:
javatest2_6
Remove3randomcharactersfromINTERESTING:
INEETING
Remove6randomcharactersfromINTERESTING:
EESTN
ITERETIN
IEESG
说明:
程序中的方法privatestaticStringremoveSingChar(Stringstr,intindexNum)的功能是返回删除字符串str中第indexNum个字符后得到的字符串。
方法privatestaticStringremoveRandChar(Stringstr,inthowMany)中有二个参数,类型分别是String和int,第二个参数表示从第一个参数指定的字符串中删除字符的个数。
删除哪个字符由随机数决定。
如果第二个参数比第一个参数指定的字符串长度大,则该方法返回空字符串。
#1publicclasstest2_6{
#3Stringword1=removeRandChar("
INTERESTING"
3);
#4System.out.println("
+word1);
#5word1=removeRandChar("
6);
#6System.out.println("
#7}
#8privatestaticStringremoveSingChar(Stringstr,intindexNum){
#9returnstr.substring(0,indexNum)+str.substring(indexNum+1);
#11privatestaticStringremoveRandChar(Stringstr,inthowMany){
#12if(str.length()>
howMany)
#13return"
#14intrandNo;
#15for(intj=0;
j<
howMany;
j++){
#16randNo=(int)(Math.random()*3);
#17str=removeSingChar(str,randNo);
#18}
#19return"
#20}
#21}
#12if(str.length()<
=howMany)
#16randNo=(int)(Math.random()*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序 调试 11 填空