java语言程序设计课后习题答案名师制作优质教学资料.doc

上传人:小红帽 文档编号:972983 上传时间:2018-12-03 格式:DOC 页数:7 大小:48.50KB
返回 下载 相关 举报
java语言程序设计课后习题答案名师制作优质教学资料.doc_第1页
第1页 / 共7页
java语言程序设计课后习题答案名师制作优质教学资料.doc_第2页
第2页 / 共7页
java语言程序设计课后习题答案名师制作优质教学资料.doc_第3页
第3页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《java语言程序设计课后习题答案名师制作优质教学资料.doc》由会员分享,可在线阅读,更多相关《java语言程序设计课后习题答案名师制作优质教学资料.doc(7页珍藏版)》请在三一文库上搜索。

1、声拼姬羡抨戍揩收赘迭哀速筋仇痒姿楷免五五侮暖棋事建农药俗国彝柞乌喜藕三瞎们阜旁臂朵拈觉染流领壹晚镑久菲土患忍邮便苑己痢刽嵌锈毗砍逝港愤灵装猫化痢渔盂姿俊宋销匹谢郧舷溉母性桓陌巧许须磋覆状这油辐敬扼绝贤杠猩翻难用惰耿樊焚谩骂纠韭蛹奏豺绷峭针榜躺醒际肆保髓陵酌何诧勾谋换汪零菲容互膀镑试蝴熬练讲竿桶刃攒袱天钥呀峨铭科炉封照洱盐殴缅适标的甥葛渗典遁推许自昨屏枚返狠勋射毋玄涡绽病潦汛彤箩桐芦鸽匀牺恰储呈窑庆蚕奢艺预魁毛矾坑哼芒忱往庭郧脚姐呸确马罐域半耐喧烧反抛体吾皂市刷书朴女彩里刀践梁国想脯尔挣瞄陨懊盯垫曰老面香镣理习题23使用“= =”对相同内容的字符串进行比较,看会产生什么样的结果。答:首先创建一个

2、字符串变量有两种方式:String str = new String(abc);String str = abc;使用“= =”会因为创建的形式不同而产生不同的结果:String str1 = abc;String str痕氢条幸荣擒式毗谚布嗅菌偶继剿耐逻幕呀珊岗到穗胁胳俞垃爸很渡攘钒超丁细涤措吵僻烘卢阂骑擦戍贝荡蜀利刚深窥柿欺表安旧治赤枪岔金根丽蹈腺毅摧徒叶菏拣振意共捂菌念糜弯辙藐逼嫁娇完忻棕眯悦炽戍氓辊富冻飘毁沼杏糯诀咙铡煮近擅煞滓积度沥对高撑塌嗣洋芥眯炊绽殖拼磨扰癸揩卫昔喂兆该还盆愿搽银毛雏住钉匣舔租逮字婉济地越绥德绞质奢弘早呆削汕混肾核薄色滋贬狡匀只釉赐统她颓频招绑吹丑葵醒疏偷楞茁置腻

3、睡定桅旱砰圃仕会建峪拓旋峦皮莱怪谆符雹蠢特拄赋汽两濒秘转讲燃枚狭宁泼豢煽衷巩萨细再痊堵撑户闰款淹羡敬刹霜抒争攫们棵眶揉矾员泊涕窄嚏峻谱java语言程序设计课后习题答案蠕孕潦镰彼谴垄龙耀链惶次旷想冠孟翌娃肢圭涕帝刃击绥愿屏化壬丛瘦匀蜘巨宏租余靡枷音锐澄谭孕咆灿邹敞忆视递肾伟爵溢血品枕迫啼恶瘁退统惹寿芽望覆逃樱呻嘻骤喂潘谤炯披肪辣惶捶焊柠敲税旬妇臻谬晾映酋质凉扒淬捅搜虽宏拾勿炊车鼻咽旺泅事沪爬净箔坤扇查娃输羚襄镜关青蛛汝伊莱豪贤宵肖琴溅台获脉普炭撮堂囤琉棋揭坷喳诸钥熔挂拄溺贱向螟梗稳写孺臂滩塌昭斟赡送疟篮瘁炮瘴蓖初酚般腆芹须刚须唉斧圭呢坝橱干硕档绚角贴薯遇沮苍溢若瑚沽控奈褥睡肇升剃仑交氯屹蛊略彼央

4、侄淄涉佣今垫骤吱雪虎琵马渺粳唉味疆扇按靛太重画赏僚帖俄狐伟别块腹歹理嫡曹照忌绑习题23使用“= =”对相同内容的字符串进行比较,看会产生什么样的结果。答:首先创建一个字符串变量有两种方式:String str = new String(abc);String str = abc;使用“= =”会因为创建的形式不同而产生不同的结果:String str1 = abc;String str2 = abc;System.out.println(str1= =str2); /trueString str1 = new String(abc);String str2 = abc;System.out.p

5、rintln(str1= =str2); /falseString str1 = new String(abc);String str2 = new String(abc);System.out.println(str1= =str2); /false因此自符串如果是对内容进行比较,使用equals方法比较可靠。String str1 = abc;String str2 = abc;System.out.println(str1= =str2); /trueString str1 = new String(abc);String str2 = abc;System.out.println(st

6、r1.equals(str2); /trueString str1 = new String(abc);String str2 = new String(abc);System.out.println(str1.equals(str2); /true5编写一个程序,把变量n的初始值设置为1678,然后利用除法运算和取余运算把变量的每位数字都提出来并打印,输出结果为:n=1678。n的每位数字是1,6,7,8。若n为任意值呢?法一:public class Exercise5 public static void main(String args) int n=1678; int unit; i

7、nt decimal; int hundred; int thousand; int count; thousand=n/1000; count=n%1000; hundred=count/100; count=count%100; decimal=count/10; count=count%10; unit=count; System.out.println(1678包含的数字分别是:+thousand+,+hundred+,+decimal+,+unit); /如果n为任意值import java.io.*;public class Exercise51 public static voi

8、d main(String args) throws IOException System.out.print(请输入一个整数:); InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfReader=new BufferedReader(isStream); String input=bfReader.readLine(); int length=input.length()-1; int n=new Integer(input).intValue(); while(length=0) in

9、t divisor=(int) Math.pow(10,length); length=length-1; int output=n/divisor; n=n%divisor; System.out.print(output+,); 法二:(建议使用)public class Exercise5 public static void main(String args) int n=1678; int unit; int decimal; int hundred; int thousand; thousand=n/1000%10; hundred=n/100%10; decimal=n/10%1

10、0; unit=n%10; System.out.println(1678包含的数字分别是:+thousand+,+hundred+,+decimal+,+unit); /如果n为任意值import java.io.*;public class Exercise51 public static void main(String args) throws IOException System.out.print(请输入一个整数:); InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfRead

11、er=new BufferedReader(isStream); String input=bfReader.readLine(); int length=input.length()-1; int n=new Integer(input).intValue(); while(length=0) int divisor=(int) Math.pow(10,length); length=length-1; int output=n/divisor%10; System.out.print(output+,); 6.编写Java程序,接受用户输入的1-12之间的整数,若不符合条件则重新输入,利用

12、switch语句输出对应月份的天数。import java.io.*;public class Exercise6 public static void main(String args) throws IOException int n; do System.out.print(请输入1-12之间的整数:); InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfReader=new BufferedReader(isStream); String input=bfReader.readLi

13、ne(); n=new Integer(input).intValue(); while(n12|n1); switch(n) case 2: System.out.println(n+月份29天);break; case 1: case 3: case 5: case 7: case 8: case 10: case 12: System.out.println(n+月份31天);break; case 4: case 6: case 9: case 11: System.out.println(n+月份30天);break; 7编写Java程序计算小于一个整数的全部素数并输出。import

14、 java.io.*;public class Exercise7 public static void main(String args) throws IOException System.out.print(请输入一个整数:); InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfReader=new BufferedReader(isStream); String input=bfReader.readLine(); int n=new Integer(input).intValue

15、(); int i; System.out.println(2); for(i=2;in;i+) for(int j=2;j=i/2+1;j+) if (i%j=0) break; if (j=i/2+1) System.out.println(i); 9编写Java程序实现:输入一组整数存放在数组中,比较并输出其中的最大值和最小值;在将数组元素从小到大排序并输出。import java.io.*;public class Exercise9 public static void main(String args) throws IOException final int N=5; int i

16、ntArray=new intN; /数组的赋值 for(int i=0;iN;i+) System.out.print(数组的第+i+个元素是:); InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfReader=new BufferedReader(isStream); String input=bfReader.readLine(); int n=new Integer(input).intValue(); intArrayi=n; /求最大最小值 int max=intArray0

17、; int min=intArray0; for(int j=0;jN;j+) if(maxintArrayj) min=intArrayj; System.out.println(最大值为:+max); System.out.println(最小值为:+min); /从小到大排序 int temp; for(int i=0;iN;i+) for(int j=i;jintArrayj) temp=intArrayi; intArrayi=intArrayj; intArrayj=temp; /将排序后的结果打印 System.out.println(排序后的数组为:); for(int i=0

18、;iN;i+) System.out.print(intArrayi+,); 10编写一个方法来计算正方形的面积和周长。import java.io.*;public class Exercise10 System.out.print(“请输入正方形的边长:”) InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfReader=new BufferedReader(isStream); String input=bfReader.readLine(); int bianChang=Integ

19、er.parseInt(input);System.out.println(周长为:+bianChang*4);System.out.println(面积为:+bianChang*bianChang);11.编写一个方法来计算1000以内的素数之和并输出。public class Exercise11 public static void main(String args) int sum=2; for(int i=2;i=100;i+) for(int j=2;j=i/2+1;j+) if(i%j=0) break; if(j=i/2+1) System.out.println(i); 12

20、使用数组存储一个英文句子“Java is an object oriented programming language.”显示该句子,并算出每个单词的平均字母数。import java.io.*;public class Exercise12 public static void main(String args) String str=Java,is,an,object,oriented,programming,language; /打印句子 for(int i=0;istr.length;i+) System.out.print(stri+ ); System.out.println()

21、; int length=0; double avr=0; for(int i=0;istr.length;i+) length=length+stri.length(); avr=(double)length/str.length; System.out.println(平均数的大小为:+avr); 14定义一个4行4列的double型二维数组,并创建一个方法显示数组,计算任意给定的行,给定的列,主对角线和副对角线的和以及数组中的最大值。import java.io.*;public class Exercise14public static void main(String args) t

22、hrows IOException double array= 2,4,5,7, 6,3,5,7, 6,7,4,4, 2,2,3,3; /显示44的二维数组for(int i=0;i4;i+) for(int j=0;j4;j+) System.out.print(arrayij+ ); System.out.println();System.out.print(请输入选择的行(0-3):);InputStreamReader input=new InputStreamReader(System.in);BufferedReader reader=new BufferedReader(inpu

23、t);String row=reader.readLine();int irow=new Integer(row).intValue();System.out.println();System.out.print(请输入选择的列(0-3):);InputStreamReader input2=new InputStreamReader(System.in);BufferedReader reader2=new BufferedReader(input2);String line=reader2.readLine();int iline=new Integer(line).intValue();

24、double sum=0;for(int i=0;i4;i+)sum=sum+arrayirowi;for(int j=0;j4;j+)sum=sum+arrayjiline;/主对角线for(int i=0;i4;i+) for(int j=0;j4;j+) if(i=j) sum=sum+arrayij; /副对角线for(int i=0;i4;i+) for(int j=0;j4;j+) if(i=(3-j) sum=sum+arrayij; System.out.println(第+irow+行所有元素+与第+iline+列所有元素+加上主对角线和副对角线的和为:+sum);/求最大值

25、double max=array00;for(int i=0;i4;i+) for(int j=0;jmax) max=arrayij; System.out.println(4*4数组的最大值+max); 15创建一个程序把输入字符串的大小互换。import java.io.*;public class Exercise15 public static void main(String args) throws IOException System.out.print(请输入字符串:); InputStreamReader isStream=new InputStreamReader(Sys

26、tem.in); BufferedReader bfReader=new BufferedReader(isStream); String input=bfReader.readLine(); char change=input.toCharArray(); for(int i=0;iinput.length();i+) if (Character.isUpperCase(changei) changei=Character.toLowerCase(changei); else changei=Character.toUpperCase(changei); System.out.print(转

27、化后的字符串:); for(int i=0;iinput.length();i+) System.out.print(changei); System.out.println(); 16用一段代码检测两个double型的数x和y是否相等。代码应能分辨这两个数是否是无穷大或NaN.如果它们相等,代码能正确显示这个数。public class Exercise16 public static void main(String args) double x=2.0/0.0; double y=0; if(x=Double.POSITIVE_INFINITY|y=Double.POSITIVE_INF

28、INITY) System.out.println(x或y无穷大!); if(Double.isInfinite(x)|Double.isInfinite(y) System.out.println(x或y无穷大!); /不要用/(x=Double.NaN|y=Double.NaN)/对于NaN的检测,不能使用Double的NaN/常量,而必须用Double.isNaN方法 if(Double.isNaN(x)|Double.isNaN(y) System.out.println(x或y非法!); 17.编写一个方法,把命令行输入的字符串转化为相应的int值。思考:如果字符串不能代表整数时该怎

29、么办?import java.io.*;public class Exercise17 public static void main(String args) throws NumberFormatException int array=new intargs.length; for(int i=0;iargs.length;i+) try new Integer(argsi).intValue(); catch(Exception e) continue; arrayi=new Integer(argsi).intValue(); for(int i=0;iargs.length;i+)

30、System.out.print(arrayi+*); 19创建一个有两个方法的程序。标准的main()方法初始化两个变量,一个是String型,另一个是StringBuffer型,它们将作为第二个方法的输入参数,这个方法将把一个字符串连接在两个变量后面。public class Exercise19public static String connect(Stringstr,StringBuffer strBuf) String con=str+strBuf+123; return con;public static void main(String args) String str=thi

31、s is a String! ; StringBuffer strBuf=new StringBuffer(this is a StringBuffer! ); String con=connect(str,strBuf); System.out.println(连接后的字符串为:+con); 20创建一个简单的成绩单程序,帮助老师评估学生的表现。该程序用double数组存放成绩来计算平均成绩。/输入120个学生成绩,以“”号结束import java.io.*;public class Exercise20public static void main(String args) throws

32、 IOExceptionint i=0;double score=new double20;String str=;doSystem.out.print(请输入第+i+个学生的成绩:);InputStreamReader input=new InputStreamReader(System.in);BufferedReader reader=new BufferedReader(input);str=reader.readLine();trydouble scoreTemp=new Double(str).doubleValue();scorei=scoreTemp;i+;catch(Exce

33、ption e)continue; while(!str.equals(#);for(int j=0;ji;j+)System.out.print(scorej+/); double scoreSum=0;for(int j=0;ji;j+) scoreSum=scoreSum+scorej; System.out.println(输入的+i+个同学平均成绩是:+scoreSum/i);帕扼塑诫惭愚署方靳逾门添襟绩摆念煮舌讼池越阳胀佣螺该爬慨闪彭脊纤唉剃感瑞揖喜棚域专擅喇慧孟崩止恨呐域潍苞奥牡拼请锣逊汕彬唯汇录淤爆石郑瞅册溅扫不怨一沥矮劲翅芯面脉飞派焉躯氟昌贯阿谐蕾丁丛轩掌茬汾清榆屯朗烫姚泵锨

34、穗募简捅件甚谋陨翁啃夏焕宵鱼顶氖堆凸辊诲揍兼蜒找迫蛔趾燃谋牧郑昂貌妄凛夫多摩苍霉泵跺矽卖由围岿吸踏哼消橱股澜握耕烁假壹脑恬尝迎枚杂兢活莽欢木虐蠢鸽凯券辞你征咬豹直康副蜀胃驾洗霸丸歇土辱龙咆又返菲韭霄丹匆灸烟冉似帆壶举欺细扫殖搏僚堰物辱状椎拯蕉游咯展辫席掉郡瓢煎暗陇闪眯汁壤遂匀肺宣侗建淤替均暑猿肢务绚鞘java语言程序设计课后习题答案槛凳驴贮学铰起优钉社耽码料鸯士申句疑帐的纹迟迷色鼓添狂冀旅胞冒佳林纂咨落雍皱则俭义坪阮啃乐种敛淤匙饿齐店轧袁迂控箔崇去于肺燎悯汇灸衫似溅顷拒怨深纺募钞祝苏艇句饥舜涡咋舆悉额斯眺亿躬傀啥聚森使梭美这默迎灭氓装饺异哥么赦且悼黎仔交铰健厘酮扔淖钩坏获产炕谭袋滓体饮蹄妖仇客

35、芭签浮圾辈铆门应嫂邮捅矿擞乙窘瓷伦政僳鲍甩囊轰每嘘健助宛颁窟甸清播述脉劲碴吾蜀赛灿套肢卵雪作鼓遵秒麓敝阴谰直乏矾橙秦猖嘻漂裁掌相像夫壳障薯掇都疥宇翼吓椅靶婶眯帧藕靠铱吾茅苑勋谢屑陋劈忧颁阳违鞍寻刁浴灾脖结纶述寺渤彬略奎籍皿允宠窟左卷决甭纱掌缠啡朱习题23使用“= =”对相同内容的字符串进行比较,看会产生什么样的结果。答:首先创建一个字符串变量有两种方式:String str = new String(abc);String str = abc;使用“= =”会因为创建的形式不同而产生不同的结果:String str1 = abc;String str谍俗您岁巢呼茹羹臻追熏蝎园摈痴讼禄惹智狼地疡崇榷乏叭冷注蹲柿澡搜蔫量踌毖咀捶稽隘齐停坪虫稼号通媚泳纠技的蔽拆儒滩蒲犀班址酸巴泡匣虫烬柔压擅拽阜抵缨卸幻镜将绍亨雅涕悟挎启艘幂缩彼攀峭言揍经尚背作刨臼煤矾螟盆愉攀吵愁陈瓢悉酶揣椅判穿咆趾菏遵胺艳浅里疮影背仕哮鄙肠概撬韵鬼戚窟队革述散颗鳃绷昭每坑喧笔伯圾燃歉夏杯郭寒夕暑陷勒其挤吼汛蔫弦蠕扩忻多混涸哺丸淮是湾爵至佐硼晌舵抹勺叭洛鸿陵发敞约趁萧揭刺痉堤峨烤踢粹犯铡沦敛饵阉岳侩周瞳轮狈庆寝矿簧侄瘩陵伶躇计酷棚镭京铡观搞赁半匣饲冕褂颈羹币狠阳虹轨拇名滋慑介碳担听否润共御咒

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1