第一篇:自考00159《高级财务会计》(2016版)课后习题答案-第五章 合并财务报表-内部交易
自考试00159《高级财务会计》(2016版)
课后习题答案
第五章 合并财务报表-内部交易
一、单项选择题
1.B 2.C 3.C 4.B
二、多项选择题
1.ABCD 2.CDE 3.ACD 4.ABCDE
三、分析题
F公司将医疗机械作为固定资产:
1.涉及损益的内部交易;内部固定资产交易 2.影响利润表和资产负债表的固定资产等 F公司将医疗机械作为商品:
1.涉及损益的内部交易;内部存货交易 2.影响利润表和资产负债表的存货等
四、业务题
1.借:应付账款 300万
贷:应收账款 300万
借:未分配利润-年初 60万*15%=9万
贷:营业成本 9万 借:营业收入 305万
贷:营业成本 305万 借:营业收入 305/7*3 贷:营业成本 305/7*3*4/5 存货 305/7*3*1/5 2.2014年,首期(存货—固定资产)借:营业收入
50万=58.5/(1+17%)
贷:营业成本
30万
固定资产-原价
20万
借:固定资产-累计折旧
2万
贷:管理费用等
2万 2015年,连续各期(正常使用)借:未分配利润-年初
20万
贷:固定资产-原价
20万 借:固定资产-累计折旧
2万 贷:未分配利润-年初
2万 借:固定资产-累计折旧
4万
贷:管理费用
4万
第二篇:自考【版式设计】课后习题答案
自考【版式设计】复习资料
名词解释
1.立体主义:具有主张模仿客观对象,重视艺术的自我表现,对具体对象分析、重构和综合处理的特征。
2.未来主义:即编排无重心无主次、杂乱无章、字体各异的散构,甚至完全散乱的无政府主义的形式。
3.达达主义:强调自我,反理性,认为世界没有任何规律可遵循,所以表现出强烈的虚无主义特点;随机性和偶然性,荒诞与杂乱。
4.超现实主义:认为社会的表象是虚伪的,创作的目的是重新寻找和了解社会的实质,认为无计划的,无设计的下意识或潜在思想机动更真实,如用写实的手法描绘、拼合荒诞或虚无的幻觉。
5.现代主义设计:现代主义的特点是理性主义,“功能决定形式”不是一种风格,而是一种信仰。现代主义最鲜明的主张是:“少则多”。它反对装饰的繁琐,提倡简洁的几何形式。
6构成主义:构成主义设计将抽象的图形或文字作为视觉传达的元素和符号进行构成设计,版面编排常以几何的形式构成,同时也带有未来主义、达达主义自由拼合、无序的特点。但在整体上构成主义更讲究理性的规律,强调编排的结构、简略的风格以及空间的对比关系。
7.风格派:荷兰风格派的思想和形式来源于蒙德里安的绘画探索。他以高度理性、数字化的逻辑思维来创造和谐的新秩序,画面上简洁到只有纵横的几何形方块和鲜明的色块。
8.包豪斯:包豪斯的平面设计思想及风格具有强调科学化、理性化、功能化,减少主义和几何化的特点,注重启发学生的潜在能力和想象力,注重字体设计,采用无线装饰字体和简
略的编排风格。
9.国际主义平面设计风格:国际主义风格在平面上的贡献是研究出了骨骼排版法,即将版面进行标准化的分割,将字体、插图、照片等按照划分的骨骼编排在其中,取消编排的装饰,采用朴素的无线装饰字体,采用非对称的版面编排。特点是高度的功能化、标准化、系统化。其反装饰的排版风格,简明扼要的视觉形式,有利于国际化的视觉传达功能,10.后现代主义的设计风格:后现代主义的整体思想体系是全面的否定与反讽传统的一切文明,主张强调自我感受。他们“对人类自古典文明以来的传统艺术进行了全面的、革命的、彻底的改革,完全改变了视觉艺术的内容、形式和服务对象”。使版面获得趣味与韵味,充满活跃、纷乱、生动的特点,后现代主义是一种思潮,一种趋势以及一种设计观念。
什么是点?:将单位面积比较小的称其为点。
什么是线?:线是点的移动轨迹。
什么是面?
面是点的放大、点的密集或线的重复。
什么是骨骼设计?
骨骼设计是一种严谨、规范、理性的设计方法。骨骼的基本原理是将版面刻意按照骨骼的规则,有序地分割成大小相等的空间单位。
什么是变形骨骼?
变形骨骼是在骨骼设计的基础上变化发展而来的。在骨骼的基本形上,通过并合、取舍部分骨骼、寻求新的造型变化,它产生的造型无穷无尽,并且富有活力与生命,富有设计的魅力,什么是视觉流程?
视觉流程是一种“视觉空间的运动”,是版面空间的各元素引导视线阅读的运动过程。
什么是单向视觉流程?
单向视觉流程就是指视觉往一个方向运动的过程。
什么是曲线视觉流程?
曲线视觉流程就是视觉成弧线形运动方向的过程。
什么是重心的视觉流程?
重心的视觉流程就是以一个点为重心向四周扩散或收缩的视觉运动过程。
什么是散构的视觉流程?
散构的视觉流程就是自由活泼、无规则的视觉运动过程。
什么是最佳视阈?
最佳视阈是最舒适的视觉运动过程。即注目价值高的位置。
什么是单纯?单纯就是简练。
什么是秩序?秩序就是有规律。
什么是对比?对比就是差异化。
什么是和谐?和谐就是将相同的或相似的并置在一起。
什么是节奏?
节奏是均匀的重复,是在不断重复中产生的频率节奏的变化。
什么的韵律?
韵律不是简单的重复,而是比节奏要求更高一级的律动。
什么叫图版率?
是指版面相对于文字、图(图片或照片)所占据的面积比。
什么叫角板?
角板也称方形版,即画面被直线方框所切割。
什么是挖版?
挖版图也称退底图,即将图片中精彩的图像部分按需要剪裁下来。
什么是出血版?
出血版,即图形充满或超出版页,无边框的限制,有向外扩张和舒展之势。
什么是视觉度?
视觉度是指文字和图版(插图、照片)在版面中产生的视觉强弱度。
什么是多维空间
在二维平面空间上表现立体的、矛盾的、虚幻的复合空间,叫多维空间。
简答题
第一章 版式设计概论
1、平面设计的发展史中每个发展阶段的特点是什么?
答:20世纪的艺术主要经历了四个时期。第一个时期主要以立体主义,未来主义,达达主义、超现实主义,装饰主义为代表,其特点是对版面构成的形式要素进行了分析组合及对理性规律的探索。第二个时期以一战后兴起的俄国构成主义、荷兰风格派、德国包豪斯三个重要的设计运动为代表。其特点是强调平面设计中的科学化,理性化,功能化、减少主义和几何化,对艺术设计的观念和思想奠定了坚实的基础。第三个时期为二战后50年代至70年代的国际主义主导设计风格,其特点是高度的功能化,标准化,系统化,其反装饰的排版风格,简明扼要的视觉形式,有利于国际化的视觉传达功能。第四个时期为20世纪60年代开始的后现代主义平面设计表现形式以及电脑网络多元化媒体传达。其特点是在思想体系上全面否定与反讽传统的一切文明,主张强调自我感受,他们对人类自古典文明以来的传统艺术进行了全面的、革命的、彻底的改革,完全改变了视觉艺术的内容、形式和服务对象。
2、立体主义,未来主义,达达主义以及超现实主义对现代平面设计风格产生了怎样的影响? 答:立体主义具有主张不模仿客观对象,重视艺术的自我表现,对具体对象分析,重构和综合处理的特征,这种思想观念对平面设计的影响,表现为对版面构成的分析组合和对理性的规律探索。未来主义鲜明的提出反对严谨正规的排版方式,即编排无中心,无主次,杂乱无章,字体各异,毫无拘束的编排。探索在时间、空间与机械美学方面的表现成为时尚设计的标志。达达主义在艺术观念上,强调自我,反理性,表现出强烈的虚无主义特点,随机性,偶然性,荒诞与杂乱,他们对版面编辑的革命性的大胆尝试与突破,对当时及以
后的设计家产生了巨大的影响。超现实主义用写实的手法描绘,拼合荒诞的梦境或虚无的幻觉,其插图的应用和版式的新奇的艺术特征,对人类意识形态和精神领域方面的启迪和震撼作用是有创造性的。
3、现代主义的设计风格是什么?对世界平面设计起到什么作用?
答:现代主义的设计风格是理性主义,即“功能决定形式”不是一种风格,而是一种信仰,现代主义最鲜明的主张是“少则多”,它反对装饰的繁琐,提倡简洁的几何形状,所以现代主义在平面设计上作出了很大的贡献,对世界设计发展起到了4个方面的作用。一创造了无装饰线脚的国际字体为主体的新字体,并得以广泛的应用。二 在平面设计上开始对简洁的几何抽象图形进行探索设计。三将摄影作为平面设计插图的形式进行研究。4,将数学和几何学应用于平面的设计分割,为骨骼法的创造奠定了基础。
4、什么是包豪斯?如何理解构成主义与风格派各自的思想体系?
答:包豪斯是在俄国的构成主义、荷兰风格派和德国的现代主义设计的影响下,综合发展和逐步完善形成的。包豪斯学院是世界上第一所完全为设计教育设立的学院,并成为欧洲现代主义设计运动的交汇中心,它的设计理论和风格基础影响了半个世纪以来对现代设计的探索与研究。俄国的构成主义在整体上更讲究理性的规律,强调编排的结构,简略的风格以及空间的对比关系。荷兰的风格派来源于蒙德里安的绘画探索。其特点是1 高度的理性化,完全采用简单的纵横编排方式,除纵横的几何分割块外,没有其他装饰。2 字体完全采用无装饰线体。3 版面编排采用非对称方式,但追求非对称的视觉平衡。4 尝试在版面上进行直线的骨骼分割构成,形成了被称为瑞士骨骼的编排法。
5、后现代主义思维观念的主要表现特征是什么?它对当代文化的冲击以及对平面设计产生的影响表现在哪些方面?
答:后现代主义思维观念的主要表现;在它将国际主义中冷漠、缺乏人情味、高度秩序化的形式弊端弱化与削减,把装饰性的、历史性的内容加到设计中,使之成为平面设计的组成要素,它对当代文化的冲击表现为,为设计增加人情味与历史韵味,运用幽默的调侃甚至疯狂的手法,给平面设计产生的影响主要表现在带来欢乐与游戏的特征,在强调大众文化的同时更强调多元化以及人性化,使设计的现实性、时代性更加明显。
6、学习世界平面设计发展史对现代版式设计的作用和意义是什么?
答:学习和了解平面设计发展史,使我们能够清晰的把握设计发展的脉络,拓展我们艺术设计的空间,知晓艺术设计的各种手法和艺术追求、艺术风格、艺术趣味,为创造适应当代大众需求的平面设计形式提供了较好的比较对象。从历史的平面设计风格的转换中,我们又看到了艺术家们精心创意,苦心追求,求新求变的创造精神,以及对科学现象的捕捉、对社会变革的把握的敏锐艺术眼光。世界平面设计的发展史告诉我们不断创新,善于开拓,4、“点、线、面在版面中的构成是相对的,不可均等,均等不是好版面”,你如何理解? 答:由于点线面是相互依存,相互渗透的关系,所以绝对的由点组成的板式有太花、太碎、不够集中的感觉,绝对的曲线组成的板式有单薄、零碎的感觉,同样绝对是面构成的板式有呆板之感。因此均等的点线面同样不利于主题的表现,丧失了整体的设计风格。所以我们一定要相对的对点线面作一定倾斜式的版式设计。
是我们当代平面设计发展的必由之路。
第二章 版面设计的编排构成
1、如何理解“点”在版面中的概念?以及点在版面的表现形式?
答:版面中的点由于大小、形态、位置不同所产生的视觉效果也不同,心理的作用也不同。它的表现形式为:1,点的缩小起着强调和引起注意的作用。点的放大有面之感。2,点在首行放大,起着引导、强调、活泼和成为视觉焦点的作用。3,当点居于几何中心时,上下左右空间对等,有庄重之感,但呆板。4,但点居于视觉中心时,有平衡和舒适感。5,但点偏右或偏左时,有向心移动之势,但过于边置则产生离心之动感。6,点作上下边置,有上升或下沉之感。
2、如何理解“线”在版面中的概念?线在版面中有哪些表现形式?不同的线有不同的心理情感和作用,你能认识到多少?
答:线是版面中点移动的轨迹,它的表现形式有直线、折线、波浪线、实线、虚线、自由曲线、几何曲线等。一般水平直线有平安之感,曲线有变化运动之感,折线有转折、僵硬之感,波浪线有优美舒缓之感,自由曲线有随意、奔放之感,几何曲线有工整、节奏之感,垂直直线有严肃、肃穆之感。
3、如何理解“面”在版面中的概念?面在版面中表现的形式和作用?
答:面在版面中的概念可理解为的放大、点的密集或线的重复。只有面的版面显得单调,平淡,在加入了线的分割组织后,版面立即产生精细且精神之感,若在加入点的运用,则点常常能成为版面中活跃的视觉焦点,而面常以结实肯定、大方起着烘托及丰富版面空间层次的作用。
5、骨骼设计的基本概念是什么?骨骼法对当代设计有哪些影响?
答:骨骼设计是一种严谨的、规范的、理性的设计方法,骨骼的基本原理是将版面刻意按照骨骼的规则,有序的分割成大小相等的空间单位。它给人以严谨、秩序的理性美,在当代设计中,对于信息量大,板式多样,骨骼法的应用更适应于标准化的批量排版。
6、变形骨骼是否有规则所寻,其风格特点与自由构成版面有什么不同?
答:因为变形骨骼是在骨骼法的基础上发展、变化而来的,所以无论它怎么演变,我们都可以看到骨骼法对其影响的痕迹。风格特点与自由构成版面最大的不同在于变形骨骼是“万变不离其中”,它的理性,稳重与秩序的美始终能够得到体现。而自由构成则主要是渲泻自由、活泼、个性的设计风格,感性的成分大于理性。
第三章 版面设计的视觉流程
1、什么是视觉流程?
答:版面设计的视觉流程是一种“视觉空间的运动”,是版面空间的各元素引导视线阅读的运动进程。
2、视觉流程有哪些流程形式?设计视觉流程的导读应注意哪些问题?
答:视觉流程有7种形式。
1、单向视觉流程;
2、曲线视觉流程;
3、重心的视觉流程;
4、反复的视觉流程;
5、导向的视觉流程;
6、散构的视觉流程;
7、最佳视阈。
设计视觉流程的导读应注意:理性与感性、方向关系的流程与散构关系的流程。方向关系的流程强调逻辑,注重版面清晰的脉络,似乎有一条贯穿版面,使整个版面的运动趋势有“主题旋律”,细节与主题犹如树干树枝一样和谐,方向关系流程较散构关系的流程更具理想色彩。
3、请解读视觉流程在板式设计中的运动轨迹,以及设计师的编排构思?
答:每个版面都有各自不同的视觉导读流程,无论导读流程清晰单纯,还是散乱含糊,都是设计师的风格体现,是设计师编排技巧的能力标志。
4、视觉流程在版面中可理解为视觉导读与版面结构,你如何理解?
答:有什么样的视觉导读,就有什么样的版面结构,视觉流程决定了板式风格。视觉流程和版式风格的综合体,就是设计师的个人设计魅力。
第四章 版面设计的编排形式法则
1、编排设计的形式法则有哪些,在版面设计中发挥怎样的作用、意义?
答:有五种:1单纯与秩序-----体现力度,增强记忆度。2对比与和谐------在差异冲突中和谐的突出主题。3对称与均衡------在变化中寻求稳定,变化是绝对的,均衡是相对的。4节奏与韵律------使简单变为复杂、模糊的变为清晰,生动而有趣味。5虚实与留白
-------衬托主题,扩大想象的空间,增添艺术的魅力。
2、版面简洁与秩序的设计方法对版面产生怎样的影响及效果?
答:产生具有强烈视觉冲击力的形象与整体感。反之则杂乱不堪,造成视觉传达的障碍。
3、韵律与节奏的设计手法给版面带来怎样的情感效应?
答:节奏是均匀的重复,节奏是延续轻快的感觉。韵律是通过节奏的变化而产生的,变化太多失去秩序感,也就破坏了韵律的美,变化太少则单调而失去韵律感,节奏和韵律可以使我们产生轻松、优雅和激烈、奔放之感。
4、版面空间表现有哪些手法?你能说出那些?它们在版面中发挥着怎样的作用? 答:有虚与实空间、有大与小空间、有无量又有量空间、无形又有形空间等表现手法。它们发挥的作用是:①以虚衬实、烘托主题。②布局空间增强设计的审美性。③增强空间设计品品质。
5、美学法则是指我们设计过程中的审美原则和方法,在你的设计中是否常用美学的形式法
则?常运用哪些?
答:是的 常运用对比与和谐节奏与韵律法则。
6、你常对版面进行分析吗?无论好与差的版面能分析出它们好与差的原因吗?如何改进? 答:是的,尝试着分析它们的好与差所产生的原因,有时可能是印刷质量的问题,有时会是设计理念不够新颖的问题,有时可能是主题不够鲜明的问题。总之,对所产生的问题,我总是抱着学习的态度,不断向同行学习广泛征求他们的批评与指正,力求达到新的设计高度。
第五章 文字的编排构成
1、在现代版面设计中“设计感”常体现于文字的设计表现和文版的编排表现,你如何理解文字的表现力,以及在版面中的视觉层次?
答:文字的表现力首先表现在文字的整体编排上要体现出清晰条理、富于整体的原则。其次,注重文字的图形表达,力求形象生动。如象形字、形声字的应用或文字拼图方法的应用。最后要注重文字与文字,文字与图形的互动性、以达到丰富与醒目、对比、夸张的艺术效果,还有文字的跳跃性所产生的好奇、突出的特征。当然还应考量文字作为形式要素所具备的审美性。
总之,文字的表现力非常丰富。在文字的版面中大字比小字醒目,有色字比单色字突出,在文字与图形的版面中,图形比文字突出;在把握整体设计风格中视觉层次的安排应遵从主题的主次层次来编排。
第六章 图版编排的构成
1、什么是版面的视觉度?视觉度的强弱对版面产生怎样的影响? 答:版面的视觉度是指文字和图形在版面中产生的视觉强弱度。
版面的视觉度与版面的生动性、记忆性和阅性有相互作用的关系,仅是文字的板式而无图形的插入版面会显得毫无生气。相反,只有图片而无文字或视觉度低的文字信息则消弱了与读者间的沟通
力和亲和力,阅读的兴趣也会减弱。即视觉度高、版面冲击力强,则阅读能力强、记忆度高。图版率低则视觉度弱,版面呆板,阅读兴趣低。
2、什么是图版率?图版率的高低对版面产生什么样的影响?
答:图版率是指版面相对于文字、图(图片和照片)所占据的面积比。图版率底,减少阅读兴趣。图版率高,增强阅读活力。
3、在版面运用中,退底图形与方形图形各自的特点是什么?如何运用才能发挥最佳效果? 目动人,要靠编排的技巧来表现,文字的“轻重缓急”也是一种情感的表达方式,或凝重、或舒缓、或激昂,它们各自配合的组织关系,会产生不同的强弱节奏和韵律,这些技巧无疑是编排创意表达的“营养”。在《读者》杂志的扉页设计中,我们不难看出由于《读者》杂志的严肃性设计风格,在板式设计和文版编排中其力求工整端庄的艺术风格就可见一斑,但穿插其间的角版式图片编排,也为其带来了一定的新鲜和活力感。
答:退底图形的特点是简洁单纯、生动感人、效果鲜明而强烈有张扬到极致的艺术效果。方形图形的特点是庄重沉静有良好的品质感,应穿插灵活运用,避免单一的编排方式。在相对静态的方形图形中,用挖版的方式打破约束和静态,获得活泼、自由的最佳效果。
4、如何理解图片在版面中的张力或量感,以及其与冲击力之间的关系?版面中能产生冲击力的图形,一般占据版面的面积比率是多大?
答:“量感”是指放大图片后版面所产生的一种饱满的心理量感,量感强则张力大,量感弱则张力弱。大图形注目度高,感染力强;大图形引导版面中心成为视觉焦点,因而其视觉冲击力就强。大图形一般占据版面的二分之一以上或至少超过图形的一倍以上。
5、图片面积的大小在版面中汇产生什么不同的影响?
答:图片面积越大,视觉度、图版率越高,因而其感染力、张力、亲和力就强。图片面积小给人拘谨、静止、趣味弱的感觉,但与大图片相配合,则有精致、点缀、呼应、对比、变化的作用。
6、当你在进行版面设计时,面对文字和图片你首先如何进行思考?
答:如果文字的数量是不能改变的话,我会先将文字在版面中所占据的基本面积确定出来,再根据版式设计要求如风格、意趣等进行配图,在保证文字信息传达完整的前提下,对图片的大小、疏密等作相应的调整,力求版式活而不乱。
第七章 现代版面的设计观念
1、优秀的版面其创意常借助版面编排来表现,请对这些版面结合主题以及他们应用的手法或风格进行分析?
答:在编排创意中,文字的创意编排是不可忽视的。文字的编排具有极强的情感表现力。它与设计师的编排技巧相关,“以情动人”是艺术的创作手法,也是编排的手法。文字的悦
在《知音》杂志的封面设计中,图片常以挖版的形式出现,文版的编排也配合以倾斜排列、不对称排列,并佐以鲜艳的色彩,其市民化、通俗化风格一目了然。
2、西方后现代观念意识对本土平面设计风格的影响体现在哪些方面?
答:其影响体主要创意和个性风格的表现两个方面。没有创意设计是空洞平淡的也是没有艺术生命力的。
创意有两个方面:1 是对思想主题的象征明喻,暗喻等思想创意;2 是版面编排的设计风格创意。改革开放以来中国的平面设计经历了西方引进借鉴、学习开拓、融合阶段,由固步自封、拿来主义到具有中华民族气息的裂变,可以说首先是观念的解放才带来了平面设计的丰富多彩,如有中华民族特色的奥运、世博标志设计,其强烈的中国化特色跃然眼前。其次是版面编排越来越有个性特征;面对琳琅满目的图书杂志,我们清楚的看到了其个性独特、形式活泼的编排设计越来越丰富多彩。后现代主义设计的观念意识,即“越是民族的就越是世界的”在当下中国已得到广泛的认可而成为一种时髦的艺术设计追求。在短短的十几年间我们从惊讶、排斥、尝试到大胆地体验,力图表达丰富的多维空间,表现设计的自我个性,表达与前卫的平面设计的一种互动与交流,已成为当今设计追求的必然。
3、分析当下流行的版面设计风格有哪些特征?
答:当代的平面设计虽然在现实主义和国际主义艺术之后也出现过众多的风格流派,但每次都没有背弃现代主义和国际主义的思想精神,其表现在思想观念上仍然主张自由个性的表达,表现形式也以字体的散构叠合、编排的视觉混乱、空间的矛盾为主导的版面设计艺术特征,在多维空间中表达复杂的情绪心理过程,在字体的散构叠合中追求地方性、民族性特色在编排的视觉混乱中把握思想主流的递进主次关系。
第三篇:高级财务会计 陈信元 课后答案 第六章
第六章
企业集团内部的债券业务
练习一
2007年12 月31 日江湾公司购买债券的价格中包括了应计利息,故其推定损益计算如 下:
000-(100 000+100 000×10%)×40%= 8 000(元)(推定损失)
练习二
1.购买时的债券推定赎回损益=477 500-(1 000 000-27 000)×50%=- 9 000(元)(推 定收益)
*到08 年12 月31 日为止,未摊销折价为30 000,年限为5 年,可见每半年摊销额= 30 000/10=3 000 元。半年之后(也就是09年6 月30 日)母公司在计提利息的时候摊销
了3000 元,即到09年7 月1 日,折价未摊销的余额=30 000-3 000=27 000 元。
09年7 月1 日以后母子公司账上的分录:
子公司正式账面:
2009.7.1 从外界购入母公司债券:
借:持有至到期投资—面值
500 000
贷:持有至到期投资—利息调整
500
银行存款
477 500 2009.12.31 确认投资收益:
借:应收利息
000(50 000*8%*1/2)
持有至到期投资—利息调整500(22 500/9)
贷:利息收入(投资收益)
500 母公司正式账面:(发行方)
2009.12.31 利息费用
000
应付利息
000
应付债券-利息调整000 抵销分录:
应付债券
488 000(970 000+6 000)*50%(2009.12.31)利息收入
500
持有至到期投资
480 000(477 500+2 500)
营业外收入000
(或债券赎回损益)
利息费用
500(43 000×50%)2009年合并债券利息费用=43 000+43 000-21 500=64 500(元)
2009年末合并应付债券的余额=(1 000 000-(30 000-6 000))- 488 000=488 000(元)或:[1 000 000-(30 000-6 000)]*50%(*50%的债券被推定赎回,合并报表中只反映依旧在外发行的另50%的债券)
2002 年合并报表上的债券赎回推定损益(推定收益)为9 000 元。2.若改为子公司为发行公司,各项指标与上面相同。
练习三
当海丰公司购入平湖公司的债券时:
1.1 月2 日购入债券时推定赎回损益=142 500-(750 000-15 000)×150 000/750 000= -4 500(元)
2009年合并报表中的推定损益=-4 500 元(利得)
2.2009 年合并报表中应付债券面值=750 000+150 000-150 000=750 000(元)
3.2009年合并报表中应付利息=(750 000-150 000)×10%×1/2+150 000×10%×1/2=37 500(元)
4.海丰公司帐面上对平湖公司债券投资帐户余额=142 500+(150 000-142 500)×1/5= 144 000(元)(但合并报表中该数字应为零)
当平湖公司购入海丰公司的债券时:
1.1 月2 日购入债券时推定赎回损益=151 500-(150 000+3 000)=-1 500(元)2009 年合并报表中的推定损益=-1 500 元
2.2009年合并报表中的利息费用=750 000×10%+15 000×1/5=78 000(元)
海丰公司的利息费用已全部抵销
3.合并报表中的应收利息为0(元)
4.合并报表中应付债券的帐面价值=750 000-15 000×4/5=738 000(元)(注意:上述推定损益的计算“+”号表示损失,“-”号表示利得)
练习四
1.应收利息=4 000-4 000=0 对远东公司债券投资=105 000-105 000=0 债券折价=15 000-15 000*10%=13500 应付利息=40 000-40 000*10%=36 000 8%应付债券=1 000 000-100 000=900 000 利息收入=3 000-3 000=0 利息费用=86 000-4 300=81 700 2.2007 年合并报表中的相关抵销分录:
应付债券
500 利息收入000 营业外支出(或债券赎回损益)800
持有至到期投资
000
利息费用
300(86 000×10%÷2)应付利息
000
应收利息
000 3.2008 年合并报表中的相关抵销分录: 应付债券
利息收入
000 未分配利润—期初
500(或同时借记:长期股权投资 5200 少数股东权益
1300)
持有至到期投资
000
利息费用600(86 000×10%)应付利息
000
应收利息
000 练习五
申银公司帐面债券利息费用为9 600 元,而应付利息为4 800 元(60 000×8%),可知每 年的折价摊销数为4 800 元,因债券于2002 年1 月1 日到期,可知购买时(1999 年1 月1 日)未摊销的折价数为14 400 元(4 800×3)。
1. 2009 年1 月1 日债券赎回损益=58 560-(60 000-14 400)=12 960(元)(损失)2. 广发公司购入申银公司债券时及该相关会计分录: 2009.1.1 购入债券
持有至到期投资—面值
000
持有至到期投资—利息调整440 银行存款
560 2009.7.1 收到利息
银行存款400 持有至到期投资—利息调整
240(60 000-58 560)÷6 利息收入
640 2009.12.31 确认利息收入
应收利息400 持有至到期投资—利息调整
240
利息收入
640(5 280/2)
3. 申银公司2009 年应付债券的有关会计分录: 2009.7.1 支付利息
利息费用800
银行存款
400(60 000×8%÷2)应付债券-利息调整
400(4 800÷2)
2009.12.31 确认应付利息
利息费用
800
应付利息400
应付债券-利息调整400 4. A.确认投资收益48 000 元(60 000×80%)。
长期股权投资
000 投资收益
000 B.确认债券赎回损益12 960 元(计算一如前述,为损失)。
投资收益
960 长期股权投资
960 C.确认债券赎回损益本期已实现部分4 320 元(利息收入5 280-利息费用9 600)。长期股权投资320 投资收益320 5. 2009 合并报表中的少数股东利润为12000 元(60 000×20%); 归属于母公司股东的净利润为279 360 元(240 000+48 000-12960+4320)。
练习六
(1)顺销:
1)2)3)4)
(2)逆销:
1)2)3)4)
债券赎回损益=1 030 000-1020000=10 000(推定损失)
利息费用:5 000 000*10%+100 000/5=520 000(即丽珠公司利息费用)应收利息:0 应付债券:4 900 000+100 000/5=4 920 000(即丽珠公司应付债券)债券赎回损益=4 900 000(丽珠公司账面应付债券)*(2 000 000/4 900 000+10(待摊折价))-1 900 000(持有至到期投资)=60 000(推定利得)
应付利息=丽珠公司对外应付利息5 000 000*10%*(3 000 000/5 000 000)/2+美的公司应付利息1 000 000*10%/2=150 000+50 000= 200 000 应付债券:丽珠公司对外应付债券(4 900 000+100 000/5)*60%+美的公司应付债券(1 020 000-20 000/5)=2 952 000+1 016 000=3 968 000 持有至到期投资:0 练习七
(1)货币资金:50 000+15 000=65 000(2)固定资产净值:(440 000-200 000)+(360 000-120 000)-14 000(高估的值,=21 000-21 000/3)=466 000(3)长期股权投资:0(4)应付债券=200 000*50%=100 000(5)股本=母公司股本=100 000(6)分派现金股利=母公司分派的现金股利=80 000(7)债券赎回损益=200 000*50%-91 000=9 000(推定利得)(8)销售成本=490 000+370 000-(60 000-20 000/2)=810 000(9)利息费用=企业集团对外的利息费用=16 000/2=8 000(10)折旧费用=25 000+20 000-21 000/3(高估的固定资产折旧)=38 000
练习八
由于题设条件有错,此处不再编制工作底稿,相关程序参考第三章内容,重点掌握抵銷分录(1)存货相关抵銷分录(顺销)
长期股权投资000(45000*(1-60%))
主营业务成本
000 主营业务收入
000
主营业务成本
000 主营业务成本000
存货
24000(2)非专利技术抵銷(逆销)
长期股权投资000 少数股东权益
000 营业外收入000(3)债券业务抵銷(逆销)
应付债券
000 利息收入
750
持有至到期投资
750
利息费用
500
债券推定赎回损益500
第四篇:自考Java语言程序设计(一)课后习题及答案
更多优质自考资料尽在百度贴吧自考乐园俱乐部
(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........自考Java语言程序设计
(一)课后习题及答案
自考Java语言程序设计
(一)第一章Java语言概述课后习题
一、Java语言概述
1.Java语言有哪些特点?
2.什么叫做类?什么叫做对象?
3.简述Java的运行机制。
4.简述Java应用程序的开发流程。
5.当初Sun公司发展Java的原因是:来源:www.xiexiebang.comumber_1 =
new ComplexNumber(3,-5);
ComplexNumber cNumber_2 = 本文来源:考试大网
new ComplexNumber(2,2);
double d = 10.0;
System.out.println(cNumber_1.toString()+ “ 加 ”
+ cNumber_2.toString()+ “ 等于 ”
+ cNumber_1.complexAdd(cNumber_2).toString());
System.out.println(cNumber_1.toString()+ “ 加 ”
+ d + “ 等于 ”
+ cNumber_1.complexAdd(d).toString());
System.out.println(cNumber_1.toString()+ “ 减 ”
+ cNumber_2.toString()+ “ 等于 ”
更多优质自考资料尽在百度贴吧自考乐园俱乐部
(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........+ cNumber_1.complexMinus(cNumber_2).toString());System.out.println(cNumber_1.toString()+ “ 减 ” + d + “ 等于 ” + cNumber_1.complexMinus(d).toString());System.out.println(cNumber_1.toString()+ “ 乘 ” + cNumber_2.toString()+ “ 等于 ” + cNumber_1.complexMulti(cNumber_2).toString());System.out.println(cNumber_1.toString()+ “ 乘 ” + d + “ 等于 ” + cNumber_1.complexMulti(d).toString());} } class ComplexNumber { //域
private double m_dRealPart;private double m_dImaginPart;//构造方法
ComplexNumber(){ m_dRealPart = 0.0;m_dImaginPart = 0.0;} ComplexNumber(double r,double i){ m_dRealPart = r;m_dImaginPart = i;} ComplexNumber(ComplexNumber c){ m_dRealPart = c.getRealPart();m_dImaginPart = c.getImaginaryPart();} //get,set方法
double getRealPart(){ return m_dRealPart;} double getImaginaryPart(){ return m_dImaginPart;} void setRealPart(double d){
更多优质自考资料尽在百度贴吧自考乐园俱乐部
(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........m_dRealPart = d;} void setImaginaryPart(double d){ m_dImaginPart = d;} //复数运算方法
ComplexNumber complexAdd(ComplexNumber c){ return new ComplexNumber(this.m_dRealPart + c.getRealPart(), this.m_dImaginPart + c.getImaginaryPart());} ComplexNumber complexAdd(double c){ return new ComplexNumber(this.m_dRealPart + c, this.m_dImaginPart);} ComplexNumber complexMinus(ComplexNumber c){ return new ComplexNumber(this.m_dRealPartc.getImaginaryPart());} ComplexNumber complexMinus(double c){来源:www.xiexiebang.com return new ComplexNumber(this.m_dRealPart-c, this.m_dImaginPart);} ComplexNumber complexMulti(ComplexNumber c){ return new ComplexNumber(this.m_dRealPart * c.getRealPart()
-this.m_dImaginPart * c.getImaginaryPart(), this.m_dRealPart * c.getImaginaryPart()+ this.m_dImaginPart * c.getRealPart());} ComplexNumber complexMulti(double c){ return new ComplexNumber(this.m_dRealPart * c, this.m_dImaginPart * c);} //toString()public String toString()
更多优质自考资料尽在百度贴吧自考乐园俱乐部
(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........{
return “(” + m_dRealPart + “ + ”
+ m_dImaginPart + “ i” + “)”;
}
}
8.答:接口是用来实现类间多重继承功能的结构。接口与类相似,但是接口中只能包括常量和抽象方法。定义接口相当于定义了一组抽象的功能、属性集合,可以使了ava程序的类层次结构更加合理,并实现多重继承。
9.答:使用关键字implements可以定义类实现某接口。实现某接口的类如果不是抽象类,则需要通过重载来实现该接口中的所有抽象方法;如果这个类是抽象类,则它可以不必实现该接口中的所有抽象方法。
10.答:接口可以被继承。
SubInterface中的抽象方法有:public abstract int supMethod();和public abstract string subMethod();两个。
自考Java语言程序设计
(一)第七章Java常用类库介绍课后习题
七、Java 常用类库介绍
1.指出下列陈述是对还是错,并做出解释。
(1)当String对象用= = 比较时,如果String包括相同的值则结果为true。
(2)一个String类的对象在其创建后可被修改。
2.对于下列描述,各写出一条语句完成要求的任务
(1)比较s1中的串和s2中的串的内容的相等性;
(2)用+=向串s1附加串;
(3)判断s1中串的长度;来源:考试大
3.说明capacity()与length()用法上的差异?
4.如果ch为StringBuffer对象,ch=“Java Apple”,下列结果为何?
(1)ch.insert(3,’p’)(2)ch.append(“Basic”)
(3)ch.setlength(5)(4)ch.reverse()
5.Math类中提供用来常数π和e的静态属性分别是什么?
6.下面关于Vector类的说法正确的是()
(1)类Vector在java.util包中。
(2)一个向量(Vector)对象存放的是一组有序的对象。
(3)一个向量(Vector)对象大小可以根据存放的元素个数的增加而自动增加。
(4)一个向量(Vector)对象中每个元素可以是不同类型的对象。
7.有三个字符串,编写程序找出其中最大者。
8.编写一个程序,设定一个有大小写字母的字符串,先将字符串的大写字符输出,再将字符串中的小写字符输出。
9.设定5个字符串,要求只打印那些以字母“b”开头的串,编写程序完成。
10.设定一个有大小写字母的字符串和一个查找字符,使用类 String方法IndexOf()来判断在该字符串中该字符出现的次数。
参考答案
更多优质自考资料尽在百度贴吧自考乐园俱乐部
(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........1.答:
(1)错。用= =操作符比较String对象实际上是判断它们在内存中是否为同一对象,并不是判断它们的值是否相同。
(2)错。String类的对象是常量。它们被创建后不可被修改。
2.答:
(1)s1.equals(s1,s2);
(2)s1+=s2;
(3)s1.length();
3.答:capacity()返回字符串对象的当前缓冲区的长度,length()返回字符串对象字符的长度。考试大收集整理
4.答:
(1)结果:Javpa Applet
(2)结果:Javpa AppletBasic
(3)结果:ch长度变为5
(4)结果:apvaJ
5.答:PI、E
6.答:(3)
7.public class max1
{
public static void main(String args[])
{
String s1= “Hello Java”;
String s2= “Java Applet”;
String s3= “Java”;
String s;
if(s1.compareTo(s2)<0)
s=s2;
else s=s1;
if(s.compareTo(s3)<0)
s=s3;
Systrm.out.println(“big=”+s);
}
}
8.public class out
{
public static void main(String args[])
{
String s1= “Hello Java”;
StringBuffer bufup=new StringBuffer();
StringBuffer buflow=new StringBuffer();
for(int I=0;I
{if(s1.charAt(i)<97)
更多优质自考资料尽在百度贴吧自考乐园俱乐部
(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........{bufup.append(s1.charAt(i));bufup.append(' ');} else { buflow.append(s1.charAt(i));buflow.append('');} } System.out.println(“s1= ”+s1);System.out.println(“ uppercase= ”+bufup);System.out.println(“ lowercase= ”+buflow);} } 9.
public class prin_b { public static void main(String args[]){ String s1=“hello”;String s2=“bee”;String s3=“java”;String s4=“brove”;String s5=“bag”;if(s1.indexOf('b')= =0)System.out.println(s1);if(s2.indexOf('b')= =0)System.out.println(s2);if(s3.indexOf('b')= =0)System.out.println(s3);if(s4.indexOf('b')= =0)System.out.println(s4);if(s5.indexOf('b')= =0)System.out.println(s5);} } 10.
public class ppp { public static void main(String args[]){ String s1=“abcdefghi”;int num=0;for(int i=0;i {i=s1.indexof('e',i);num++;
更多优质自考资料尽在百度贴吧自考乐园俱乐部
(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........}
System.out.print(“ s1=”+s1+“e=”);
if(num= =0)
System.out.println(“ no found”);
else System.out.println(num);
}
}
自考Java语言程序设计
(一)第八章Java异常处理及输入输出流简介课后习题
八、Java异常处理及输入输出流简介
1.列出5个常见的异常。
2.写出Java语言的异常处理机制的优点。
3.为什么异常处理技术不应该用于常规的程序控制?
4.引起异常产生的条件是什么?
5.异常没有被捕获将会发生什么?
6.编写一个程序,以说明catch(Exception e)如何捕获各种异常。
7.下面的代码段中finally语句块会被执行吗?
public class ExceptionExam3
{
public static void main(String [] args)
{
try
{
int [] a=new int[3];
System.exit(0);
}
catch(ArrayIndexOutOfBoundsException e)
{System.out.println(“发生了异常”);}
finally
{System.out.println(“Finally”);}
}
}
8.throws的作用是什么?
9.应在程序的什么地方使用异常处理?
10.下面的代码有什么错误吗?
class ExceptionExam{„}
throw new ExceptionExam();
11.异常类型匹配的处理方式。程序功能:首先输出“这是一个异常处理的例子”,然后在你程序中主动地产生一个 ArithmeticException 类型被0 除而产生的异常,并用catch 语句捕获这个异常。最后通过ArithmeticException类的对象e的方法getMessage 给出异常的具体类型并显示出来。
12.根据所给创建自定义异常类的使用格式,编写一个自定义异常的小程序。
更多优质自考资料尽在百度贴吧自考乐园俱乐部
(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........13.什么叫流?流式输入输出有什么特点?
14.Java流被分为字节流、字符流两大流类,两者有什么区别?
15.File类有哪些构造函数和常用方法?
16.利用文件输入输出流编写一个实现文件拷贝的程序,源文件名和目标文件名通过命令行参数传入。
17.编写一个程序,在当前目录下创建一个子目录test,在这个新创建的子目录下创建一个文件,并把这个文件设置成只读。
18.位置指针的作用是什么?RandomAccessFile类提供了哪些方法实现对指针的控制?
19.编写一个程序,从键盘输入一串字符,统计这串字符中英文字母、数字、其他符号的字符数。
20.编写一个程序,从键盘输入一串字符,从屏幕输出并将其存入a.txt文件中。采集者退散
21.编写一个程序,从键盘输入10个整数,并将这些数据排序后在标准输出上输出。
参考答案
1.答:内存耗尽、数组下标超出边界、被0除、非法的方法参数、算法溢出处。来源:考试大的美女编辑们
2.答:(1)Java通过面向对象的方法进行异常处理,把各种异常事件进行分类,体现了良好的层次性,提供了良好的接口,这种机制对于具有动态特 性的复杂提供了强有力的控制方式。(2)Java的异常处理机制使得处理异常的代码和“常规”代码分开,减少了代码的数量,增强了程序的可读性。(3)Java的异常处理机制使得异常事件可以沿调用栈自动向上传播,而不是C语言中通过函数的返回值来传播,这样可以传递更多的信息,并且简化了代码的编写。(4)由于把事件当成事件处理,利用类的层次性我们可以把多个具有相同父类的异常统一处理,也可以区分不同的异常分别处理,使用非常灵活。
3.答:a.异常处理用于不经常发生但通常导致程序终止的情况,因此要求编程人员为编译器的优化执行实现异常处理。b.常规控制结构的控制流程通常比异常的更为清晰、交流更高。c.在发生异常,并且没有释放异常发生之前分配的资源时,堆栈是展开的,所以会出现一些问题。d.“额外的”异常会妨碍真正错误类型的异常。这种使程序员更难 以跟踪大量的异常。
4.答:异常产生的方式有3种。第一种是在某些内部错误时,Java虚拟机可以产生异常,该异常不在你的程序控制范围内,通常不作处理。第二种是由程序代码中的错误引起,这种异常需要你的程序处理。第三种是通过使用throw语句手动生成的异常。
5.答:未捕获的异常最终会导致程序非正常终止。
6.public class ExceptionExam
{
public static void main(String [] args)
{
try
{
int i=0;
i=3/i;//将产生算术异常。
}
catch(ArithmeticException e)//找到了匹配的异常,执行该catch块。
更多优质自考资料尽在百度贴吧自考乐园俱乐部
(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........{
System.out.println(“发生了ArithmeticException异常”);
}
catch(AarryIndexOutOfBoundsException e)//不是匹配的异常,且不会再捕获
//异常,如果发生数组索引超出范围所产生的异常,将执行该catch块。
{
System.out.println(“发生了AarryIndexOutOfBoundsException异常”);
}
catch(Exception e)
//前两个catch块均无法捕获try块中发生的异常时,才会执行该catch块。
{
System.out.println(“发生了异常”);
}
finally
{ System.out.println(“执行d Finally”);}
}
}
7.答:无论是出于何种原因,只要执行离开try/catch代码块,就会执行finally代码块。即无论try是否正常结束,都会执行 finally定义的最后的代码。如果try代码块中的任何代码或它的任何catch语句从方法返回,也会执行finally代码块。但本题中在try代 码块中执行了“System.exit(0);”语句,执行了这一语句后,Java虚拟机(JVM)将被终止。那么finally语句块一定不会被执行。
8.答:在某些情况下,如果一个方法产生自己不处理或无法处理的异常,它就必须在throws子句中声明该异常。
9.答:通常,可以采用两种方式来报告错误:返回值和异常。在Java中异常处理很常用,虽然返回错误代码在某些情况下是一种有效的方式,但是异常处理可以提供强大的结构化方法来处理异常。所以需要处理代码中的错误时就可以采用异常的方法进行处理。
10.答:ExceptionExam不是继承(扩展)Throwable的子类,只有Throwable的子类可以由throw抛出。所以,这一段代码会出错。
11.public class ExceptionExam1
{
public static void main(String [] args)
{
try
{int i=0;
i=3/i;
}
catch(ArithmeticException e)
{
System.out.println(“异常是:”+e.getMessage());
}
finally
{
更多优质自考资料尽在百度贴吧自考乐园俱乐部
(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........System.out.println(“finally 语句被执行”);
}
}
}
注意:如果在catch 语句中声明的异常类是Exception,catch 语句也能正确地捕获,这是因为Exception 是ArithmeticException 的父类。如果不能确定会发生哪种情况的异常,那么最好指定catch的参数为Exception,即说明异常的类型为Exception。
12.class Excp1 extends Exception
{}
class Excp2 extends Excp1
{}
public class ExceptionExam7
{
public static void main(String [] args)throws Exception
{
try
{
throw new Excp2();
}
catch(Excp2 e)
{
System.out.println(“catch1”);
throw new Excp1();
}
catch(Excp1 e)
{
System.out.println(“catch2”);
throw new Exception();
}
catch(Exception e)
{
System.out.println(“catch3”);
}
finally
{
System.out.println(“finally”);
}
}
}
说明:自定义异常类,关键是选择继承的超类——必须是Exception或者其子类。用异常代表错误,而不要再使用方法返回值。
13.答:所谓流是指同一台计算机或网络中不同计算机之间有序运动着的数据序列,Java把这些不同来源和目标的数据都统一抽象为数据流。数据流可分为输入流和输出流,输
更多优质自考资料尽在百度贴吧自考乐园俱乐部
(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........入流代表从其他设备流入计算机的数据序列,输出流代表从计算机流向外部设备的数据序列。
流式输入输出的特点是数据的获取和发送沿数据序列的顺序进行,即每一个数据都必须等待排在它前面的数据,等前面的数据读入或送出之后才能被读写。所以流和队列一样,只能以“先进先出”的方式对其中的数据进行读写,而不能随意选择读写的位置。
14.答:两者都作为Object类的直接子类,基本输入流(无效Stream)和基本输出流(OutputStream)是处理以8位字节为基本单位的字节流类;Reader和Writer类是专门处理16位字符流的类。
15.答:构造函数有:
(1)public File(String pathname):创建一个对应于参数pathname的File类对象。参数pathname是包含目录和文件名的字符串。如果没有文件名,则代表目录。
(2)public File(String parent , String child):该构造函数将pathname分成两部分parent和child,参数parent表示目录或文件所在路径,参数child表示目录或文件名称。
(3)public File(File parent, String child):该构造函数与上面一个不同在于将parent的参数类型由String变为File,代表parent是一个已经创建的File类文件对象(指向目录)。
常用方法有:
(1)public boolean canWrite():返回文件是否可写。
(2)public boolean canRead():返回文件是否可读。
(3)public boolean createNewFile():当文件不存在时创建文件。
16.import java.io.*;
class CopyFile{
public static void main(String[] args){
String file1,file2;
int ch = 0;
try {
file1=args[0];
file2=args[1];
File无效Stream fis = new File无效Stream(file1);
FileOutputStream fos=new FileOutputStream(file2);
while((ch=fis.read())!=-1)
fos.write(ch);
fis.close();
fos.close();
}
catch(FileNotFoundException e){
System.out.println(“源文件:未找到!”);
}catch(ArrayIndexOutOfBoundsException e){
System.out.println(“缺少运行参数!”);
System.exit(-1);
}
catch(IOException e){
System.out.println(e.toString());
}
更多优质自考资料尽在百度贴吧自考乐园俱乐部
(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........}
}
17.答:
import java.io.*;
public class NewFile{
public static void main(String args[]){
File f=new File(“test”);
if(f.exists()&&f.isDirectory())
System.err.println(“目录:”+f.toString()+“已经存在!”);
else{
if(f.mkdir()){
System.out.println(“目录”+f.getAbsolutePath()+“创建结束!”);
File f2=new File(f,“my.txt”);
try{
f2.createNewFile();
f2.setReadOnly();
}catch(IOException e){
System.out.println(e.toString());
}
System.out.println(“文件:”+f2.getAbsoluteFile()+“创建结束!”);
}
else
System.out.println(“目录”+f.getAbsoluteFile()+“创建失败!”);
}
}
}
18.答:要实现对文件的随机读取,也就是在文件的任何位置执行读写数据的操作,需要一个指针来指定读写的位置。在创建 RandomAccessFile类对象的同时,系统自动创建了一个指向这个文件开头的指针,当执行读写操作后,指针自动指向被读写数据之后的第一个字节 处。指针初始值是0,每读/写一个字节,指针自动增加1。RandomAccessFile类提供了一些控制指针移动的方法。
public long getFilePointer();获取当前指针指向文件的位置。考试大论坛
pulbic void seek(long pos);将指针移动到参数pos指定的位置。
public int skipBytes(int n);指针从当前位置向后移动n个字节位置,并返回指针实际移动的字节数。
19.答:
import java.io.*;
public class Count{
public static void main(String[] args)
{
int x=0,y=0,z=0;
int ch;
try{
while((ch=System.in.read())!='r'){
更多优质自考资料尽在百度贴吧自考乐园俱乐部
(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')x++;else if(ch>='0'&&ch<='9')y++;else z++;} }catch(IOException e){ System.out.println(e.toString());} System.out.println(“英文字母:”+x);System.out.println(“数字字符:”+y);System.out.println(“其它字符:”+z);} } 20.答:
import java.io.*;public class InFile{ public static void main(String[] args){ int ch;try{ FileOutputStream out=new FileOutputStream(“a.txt”);while((ch=System.in.read())!='r'){ System.out.write(ch);out.write(ch);} out.close();System.out.write('n');}catch(IOException e){ System.out.println(e.toString());} System.out.println(“输出至文件完毕!”);} } 21.答:
import java.io.*;public class Sort{ public static void main(String args[]){ int a[]=new int[10];byte b[]=new byte[10];int t;String str;
更多优质自考资料尽在百度贴吧自考乐园俱乐部
(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........System.out.println(“请输入10个整数:”);
try{
for(int i=0;i<10;i++)
{System.out.print(“No.”+(i+1)+“: ”);
System.in.read(b);
str=new String(b);
str=str.trim();
a[i]=Integer.parseInt(str);
}
}catch(IOException e){
System.out.println(e.toString());
}
catch(NumberFormatException e){
System.out.println(e.toString());
}
for(int i=0;i<9;i++)
for(int j=i+1;j<10;j++)
{
if(a[i]>a[j]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
for(int i=0;i<10;i++)
System.out.println(a[i]+“t”);
}
}
自考Java语言程序设计
(一)第九章JavaApplet概述课后习题
九、Java Applet概述
1.下列方法中,哪一个不是Applet的基本方法()
A、init()B、run()C、stop()D、start()
2.在Java中判定Applet的来源的方法有()
A、getcodebase()B、get文档base()
C、getCodeBase()D、get文档Bade()
3.下面关于Applet的说法正确的是
A、Applet也需要main方法
B、Applet必须继承自javawt.Applet
C、Applet能访问本地文件
D、Applet程序不需要编译
4.Applet类的直接父类是()
更多优质自考资料尽在百度贴吧自考乐园俱乐部
(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........()
A.Component类
B.Container类
C.Frame类
D.Panel类
5.判断:一个Applet编译后的类名是Test.class,运行此小程序的命令是Java Test。
6.编写同时具有Applet与Application的特征的程序。具体方法是:作为Application要定义main()方法,并且把 main()方法所在的类定义一个类。为使该程序成为一个Applet,main()方法所在的这个类必须继承Applet类或JApplet类。www.xiexiebang.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........A.FlowLayoutB.BorderLayout
C.GridLayoutD.CardLayout
10.编写程序,创建下面的GUI(不必为各组件提供功能)。考试大收集整理
参考答案
1: false
2:true
3:true
4.true
5:版面管理器
6.图形用户界面
7.mouseReleased
8.C
9.B
10.import javawt.*;
public class Chp9_3_A extends Frame{
TextField t=new TextField();
String[] op={“7”,“8”,“9”,“/”,“4”,“5”,“6”,“*”,“1”,“2”,“3”,“-”,“0”,“.”,“=”,“+”};
Button[] btn=new Button[16];
Panel p=new Panel();
public Chp9_3_A(){
setLayout(new BorderLayout());
p.setLayout(new GridLayout(4,4));
for(int i=0;i
btn[i]=new Button(op[i]);
p.add(btn[i]);
}
add(t,BorderLayout.NORTH);
add(p,BorderLayout.CENTER);
setSize(400,300);
}
public static void main(String[] args){
new Chp9_3_A().setVisible(true);
}
}
自考Java语言程序设计
(一)第十二章课后习题
十二、常用组件之一________命令按钮与标签框
1.判断:标签是是一个容器。()
2.判断:在Swing用户界面的程序设计中,容器可以被添加到其它容器中去。()
3.用户不能修改的文本称为_______。
4.关于awt和swing说法正确的是:来源:考试大
更多优质自考资料尽在百度贴吧自考乐园俱乐部
(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........A、awt在不同操作系统中显示相同的风格。B、swing在不同的操作系统中显示相同的风格 C、javawt的子类
D、awt和swing都支持事件模型
5.下列_________用户图形界面组件在软件安装程序中是常见的。a.滑块
b.进度条来源:考试大 c.对话框 d.标签
6.包含可单击按钮的类的Java类库是__________。a.AWT b.Swing c.二者都有来源:www.xiexiebang.com d.二者都没有
7.下面的__________用户界面组件不是容器。a.JScrollPane b.JFrame考试大-全国最大教育类网站(www.xiexiebang.com)c.JWindows d.JScrollBar 8.创建下面的GUI,颜色列表框为红色、绿色和蓝色(不必为各组件提供功能)。参考答案 1.false 2.true 3.标签 4.B D 5.B 6.C 7.D 8.参考程序如下: import javawt.*;public class Chp9_3_B extends Frame{ Choice ch;Checkbox bg,fg;Button btnOK,btnCancel;Panel p,p1,p2;public Chp9_3_B(){ p=new Panel();p.setLayout(new GridLayout(2,1));p1=new Panel();p2=new Panel();p1.setLayout(new FlowLayout());p2.setLayout(new FlowLayout());ch=new Choice();ch.add(“红色”);
更多优质自考资料尽在百度贴吧自考乐园俱乐部
(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........ch.add(“绿色”);ch.add(“蓝色”);bg=new Checkbox(“背景”);fg=new Checkbox(“前景”);p1.add(bg);p1.add(fg);btnOK=new Button(“确定”);btnCancel=new Button(“取消”);p2.add(btnOK);p2.add(btnCancel);p.add(p1);p.add(p2);add(ch,BorderLayout.NORTH);add(p,BorderLayout.CENTER);setSize(400,300);} public static void main(String[] args){ new Chp9_3_B().setVisible(true);} }
自考Java语言程序设计
(一)第十三章课后习题
十三、常用组件之二 _______单行文本框与多行文本框,单选框和复选框
1.判断:列表对象总包含滚动条。()
2.判断:面板的默认管理器是BorderLayout。
3.____________类用于创建一组单选按钮。来源:考试大
4.欲编写如下图的一个界面,用于显示用户指定的图像: 如果在区域A中只能放置一个
AWT组件,从各组件的本来功能角度考虑,最好使用哪种组件:
A、TextArea
B、Panel
C、Applet
D、Canvas
5.Java应用程序中的默认外观是_________。
A.Motif
B.Windows
C.METAl
6.创建下面的GUI,要求在文本框中输入分数,单击“求和”按钮后在结果文本框中显示总分。
7.编写一个将华氏温度转换为摄氏温度的程序。应从键盘输入华氏温度,然后通
更多优质自考资料尽在百度贴吧自考乐园俱乐部
(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........过文本显示转换后的摄氏温度。使用下面的公式进行温度转换:
摄氏温度=5/9Χ(华氏温度-32)
8.编写一个程序,使用户能够使用鼠标在applet中绘制一个矩形。按住鼠标左键,确定矩形的左上角,然后拖动鼠标,在需要的位置(即矩形右下角)释放鼠标。另外,在状态栏中显示矩形面积。
参考答案
1.false
2.true
3.CheckboxGroup
4.D
5. C
6.参考程序如下:
import javawt.*;来源:考试大
import javawt.event.*;
public class Chp9_3_C extends Frame implements ActionListener{
TextField textField1,textField2,textField3;
Button button1=new Button(“求和”);
Panel panel1,panel2;
public Chp9_3_C(){
textField1=new TextField();
textField2=new TextField();
textField3=new TextField();
panel1=new Panel();
panel2=new Panel();
panel1.setLayout(new GridLayout(3,2));
panel2.setLayout(new FlowLayout());
panel1.add(new Label(“数学: ”));
panel1.add(textField1);
panel1.add(new Label(“英语: ”));
panel1.add(textField2);
panel1.add(new Label(“总分: ”));
panel1.add(textField3);
panel2.add(button1);
add(panel1,BorderLayout.CENTER);
add(panel2,BorderLayout.SOUTH);
button1.addActionListener(this);
setSize(300,200);
setVisible(true);
}
public static void main(String[] args){
new Chp9_3_C();
}
public void actionPerformed(ActionEvent e){
int n1,n2,sum;
更多优质自考资料尽在百度贴吧自考乐园俱乐部
(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........n1=Integer.parseInt(textField1.getText());n2=Integer.parseInt(textField2.getText());sum=n1+n2;textField3.setText(“"+sum);} } 6.参考程序如下: import javawt.*;import javawt.event.*;public class Chp9_3_D extends Frame{ TextField textField1,textField2;Button button1;public Chp9_3_D(){ textField1=new TextField(30);textField2=new TextField(30);button1=new Button(”转换“);setLayout(new FlowLayout());add(new Label(”华氏温度:“));add(textField1);add(new Label(”摄氏温度:“));add(textField2);textField2.setEditable(false);add(button1);setSize(400,300);pack();button1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ button1_actionPerformed(e);} });addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0);} });} public static void main(String[] args){ new Chp9_3_D().setVisible(true);} private void button1_actionPerformed(ActionEvent e){ double d=Double.parseDouble(textField1.getText());double h=5.0/9.0*(d-32);textField2.setText(”“+h);}
更多优质自考资料尽在百度贴吧自考乐园俱乐部
(http://tieba.baidu.com/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........}
7.参考程序如下:
import javapplet.Applet;
import javawt.*;
import javawt.event.*;
public class Chp9_3_E MouseListener,MouseMotionListener{
int x1,y1,x2,y2;
public void init(){
addMouseListener(this);
addMouseMotionListener(this);
}
public void paint(Graphics g){
g.drawRect(x1,y1,x2,y2);
int area=Math.abs(x2-x1)*Math.abs(y2-y1);
showStatus(”矩形面积: "+area);
}
//implementation of MouseListener
public void mousePressed(MouseEvent e){
x1=e.getX();
y1=e.getY();
}
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
//implementation of MouseMotionEvent
public void mouseDragged(MouseEvent e){
x2=e.getX();
y2=e.getY();
repaint();
}
public void mouseMoved(MouseEvent e){}
}
extends Applet implements
第五篇:自考Java语言程序设计(一)第五章以后课后习题及答案
.........自考Java语言程序设计
(一)第五张课后习题及答案
自考Java语言程序设计
(一)第五章类的继承课后习题
五、类的继承
l.什么是继承?什么是父类?什么是子类?继承的特性可给面向对象编程带来什么好处?什么是单重继承?什么是多重继承?
2.观察下面的程序片断,指出其中的父类和子类,以及父类和子类的各个域和方法。
class SuperClass
{
int data;
voidsetData(intnewData)
{
data=newData~
}
intgetData()
{
return data~
}
}
class SubClass extends SuperClass
{
int suhData;
void setSubData(intnewData)
{
suhData=new Data;
}
intgetData()
{
return subData;
}
}
3.“子类的域和方法的数目一定大于等于父类的域和方法的数目”,这种说法是否正确?为什么?
4.在Java程序中,通过类的定义只能实现单重继承()
5.下列哪些说法是正确的?
A、Java 语言只允许单一继承
B、Java 语言只允许实现一个接口
C、Java 语言不允许同时继承一个类并实现一个接口
D、Java 语言的单一继承使得代码更加可靠
6.Java中所有类都是类________的子类。
.........7.请写出下面程序的运行结果。
public class Test extends TT{
public void main(String args[]){
Test t = new Test(“Tom”);
}
public Test(String s){
super(s);
System.out.println(“How do you do?”);
}
public Test(){
this(“I am Tom”);
}
} www.xiexiebang.comumber_2).toString());
System.out.println(cNumber_1.toString()+ “ 加 ”
.........+ d + “ 等于 ”
+ cNumber_1.complexAdd(d).toString());System.out.println(cNumber_1.toString()+ “ 减 ” + cNumber_2.toString()+ “ 等于 ” + cNumber_1.complexMinus(cNumber_2).toString());System.out.println(cNumber_1.toString()+ “ 减 ” + d + “ 等于 ” + cNumber_1.complexMinus(d).toString());System.out.println(cNumber_1.toString()+ “ 乘 ” + cNumber_2.toString()+ “ 等于 ” + cNumber_1.complexMulti(cNumber_2).toString());System.out.println(cNumber_1.toString()+ “ 乘 ” + d + “ 等于 ” + cNumber_1.complexMulti(d).toString());} } class ComplexNumber { //域
private double m_dRealPart;private double m_dImaginPart;//构造方法
ComplexNumber(){ m_dRealPart = 0.0;m_dImaginPart = 0.0;} ComplexNumber(double r,double i){ m_dRealPart = r;m_dImaginPart = i;} ComplexNumber(ComplexNumber c){ m_dRealPart = c.getRealPart();m_dImaginPart = c.getImaginaryPart();} //get,set方法
double getRealPart(){ return m_dRealPart;} double getImaginaryPart(){
.........return m_dImaginPart;} void setRealPart(double d){ m_dRealPart = d;} void setImaginaryPart(double d){ m_dImaginPart = d;} //复数运算方法
ComplexNumber complexAdd(ComplexNumber c){ return new ComplexNumber(this.m_dRealPart + c.getRealPart(), this.m_dImaginPart + c.getImaginaryPart());} ComplexNumber complexAdd(double c){ return new ComplexNumber(this.m_dRealPart + c, this.m_dImaginPart);} ComplexNumber complexMinus(ComplexNumber c){ return new ComplexNumber(this.m_dRealPartc.getImaginaryPart());} ComplexNumber complexMinus(double c){来源:www.xiexiebang.com return new ComplexNumber(this.m_dRealPart-c, this.m_dImaginPart);} ComplexNumber complexMulti(ComplexNumber c){ return new ComplexNumber(this.m_dRealPart * c.getRealPart()
-this.m_dImaginPart * c.getImaginaryPart(), this.m_dRealPart * c.getImaginaryPart()+ this.m_dImaginPart * c.getRealPart());} ComplexNumber complexMulti(double c){ return new ComplexNumber(.........this.m_dRealPart * c, this.m_dImaginPart * c);
}
//toString()
public String toString()
{
return “(” + m_dRealPart + “ + ”
+ m_dImaginPart + “ i” + “)”;
}
}
8.答:接口是用来实现类间多重继承功能的结构。接口与类相似,但是接口中只能包括常量和抽象方法。定义接口相当于定义了一组抽象的功能、属性集合,可以使了ava程序的类层次结构更加合理,并实现多重继承。
9.答:使用关键字implements可以定义类实现某接口。实现某接口的类如果不是抽象类,则需要通过重载来实现该接口中的所有抽象方法;如果这个类是抽象类,则它可以不必实现该接口中的所有抽象方法。
10.答:接口可以被继承。
SubInterface中的抽象方法有:public abstract int supMethod();和public abstract string subMethod();两个。
自考Java语言程序设计
(一)第七章Java常用类库介绍课后习题
七、Java 常用类库介绍
1.指出下列陈述是对还是错,并做出解释。
(1)当String对象用= = 比较时,如果String包括相同的值则结果为true。
(2)一个String类的对象在其创建后可被修改。
2.对于下列描述,各写出一条语句完成要求的任务
(1)比较s1中的串和s2中的串的内容的相等性;
(2)用+=向串s1附加串;
(3)判断s1中串的长度;来源:考试大
3.说明capacity()与length()用法上的差异?
4.如果ch为StringBuffer对象,ch=“Java Apple”,下列结果为何?
(1)ch.insert(3,’p’)(2)ch.append(“Basic”)
(3)ch.setlength(5)(4)ch.reverse()
5.Math类中提供用来常数π和e的静态属性分别是什么?
6.下面关于Vector类的说法正确的是()
(1)类Vector在java.util包中。
(2)一个向量(Vector)对象存放的是一组有序的对象。
(3)一个向量(Vector)对象大小可以根据存放的元素个数的增加而自动增加。
(4)一个向量(Vector)对象中每个元素可以是不同类型的对象。
7.有三个字符串,编写程序找出其中最大者。
8.编写一个程序,设定一个有大小写字母的字符串,先将字符串的大写字符输出,再将字符串中的小写字符输出。
.........9.设定5个字符串,要求只打印那些以字母“b”开头的串,编写程序完成。
10.设定一个有大小写字母的字符串和一个查找字符,使用类 String方法IndexOf()来判断在该字符串中该字符出现的次数。
参考答案
1.答:
(1)错。用= =操作符比较String对象实际上是判断它们在内存中是否为同一对象,并不是判断它们的值是否相同。
(2)错。String类的对象是常量。它们被创建后不可被修改。
2.答:
(1)s1.equals(s1,s2);
(2)s1+=s2;
(3)s1.length();
3.答:capacity()返回字符串对象的当前缓冲区的长度,length()返回字符串对象字符的长度。考试大收集整理
4.答:
(1)结果:Javpa Applet
(2)结果:Javpa AppletBasic
(3)结果:ch长度变为5
(4)结果:apvaJ
5.答:PI、E
6.答:(3)
7.public class max1
{
public static void main(String args[])
{
String s1= “Hello Java”;
String s2= “Java Applet”;
String s3= “Java”;
String s;
if(s1.compareTo(s2)<0)
s=s2;
else s=s1;
if(s.compareTo(s3)<0)
s=s3;
Systrm.out.println(“big=”+s);
}
}
8.public class out
{
public static void main(String args[])
{
String s1= “Hello Java”;
.........StringBuffer bufup=new StringBuffer();StringBuffer buflow=new StringBuffer();for(int I=0;I {if(s1.charAt(i)<97){bufup.append(s1.charAt(i));bufup.append(' ');} else { buflow.append(s1.charAt(i));buflow.append('');} } System.out.println(“s1= ”+s1);System.out.println(“ uppercase= ”+bufup);System.out.println(“ lowercase= ”+buflow);} } 9.
public class prin_b { public static void main(String args[]){ String s1=“hello”;String s2=“bee”;String s3=“java”;String s4=“brove”;String s5=“bag”;if(s1.indexOf('b')= =0)System.out.println(s1);if(s2.indexOf('b')= =0)System.out.println(s2);if(s3.indexOf('b')= =0)System.out.println(s3);if(s4.indexOf('b')= =0)System.out.println(s4);if(s5.indexOf('b')= =0)System.out.println(s5);} } 10.
public class ppp { public static void main(String args[]){ String s1=“abcdefghi”;
.........int num=0;
for(int i=0;i
{i=s1.indexof('e',i);
num++;
}
System.out.print(“ s1=”+s1+“e=”);
if(num= =0)
System.out.println(“ no found”);
else System.out.println(num);
}
}
自考Java语言程序设计
(一)第八章Java异常处理及输入输出流简介课后习题
八、Java异常处理及输入输出流简介
1.列出5个常见的异常。
2.写出Java语言的异常处理机制的优点。
3.为什么异常处理技术不应该用于常规的程序控制?
4.引起异常产生的条件是什么?
5.异常没有被捕获将会发生什么?
6.编写一个程序,以说明catch(Exception e)如何捕获各种异常。
7.下面的代码段中finally语句块会被执行吗?
public class ExceptionExam3
{
public static void main(String [] args)
{
try
{
int [] a=new int[3];
System.exit(0);
}
catch(ArrayIndexOutOfBoundsException e)
{System.out.println(“发生了异常”);}
finally
{System.out.println(“Finally”);}
}
}
8.throws的作用是什么?
9.应在程序的什么地方使用异常处理?
10.下面的代码有什么错误吗?
class ExceptionExam{„}
throw new ExceptionExam();
11.异常类型匹配的处理方式。程序功能:首先输出“这是一个异常处理的例子”,.........然后在你程序中主动地产生一个 ArithmeticException 类型被0 除而产生的异常,并用catch 语句捕获这个异常。最后通过ArithmeticException类的对象e的方法getMessage 给出异常的具体类型并显示出来。
12.根据所给创建自定义异常类的使用格式,编写一个自定义异常的小程序。
13.什么叫流?流式输入输出有什么特点?
14.Java流被分为字节流、字符流两大流类,两者有什么区别?
15.File类有哪些构造函数和常用方法?
16.利用文件输入输出流编写一个实现文件拷贝的程序,源文件名和目标文件名通过命令行参数传入。
17.编写一个程序,在当前目录下创建一个子目录test,在这个新创建的子目录下创建一个文件,并把这个文件设置成只读。
18.位置指针的作用是什么?RandomAccessFile类提供了哪些方法实现对指针的控制?
19.编写一个程序,从键盘输入一串字符,统计这串字符中英文字母、数字、其他符号的字符数。
20.编写一个程序,从键盘输入一串字符,从屏幕输出并将其存入a.txt文件中。采集者退散
21.编写一个程序,从键盘输入10个整数,并将这些数据排序后在标准输出上输出。
参考答案
1.答:内存耗尽、数组下标超出边界、被0除、非法的方法参数、算法溢出处。来源:考试大的美女编辑们
2.答:(1)Java通过面向对象的方法进行异常处理,把各种异常事件进行分类,体现了良好的层次性,提供了良好的接口,这种机制对于具有动态特 性的复杂提供了强有力的控制方式。(2)Java的异常处理机制使得处理异常的代码和“常规”代码分开,减少了代码的数量,增强了程序的可读性。(3)Java的异常处理机制使得异常事件可以沿调用栈自动向上传播,而不是C语言中通过函数的返回值来传播,这样可以传递更多的信息,并且简化了代码的编写。(4)由于把事件当成事件处理,利用类的层次性我们可以把多个具有相同父类的异常统一处理,也可以区分不同的异常分别处理,使用非常灵活。
3.答:a.异常处理用于不经常发生但通常导致程序终止的情况,因此要求编程人员为编译器的优化执行实现异常处理。b.常规控制结构的控制流程通常比异常的更为清晰、交流更高。c.在发生异常,并且没有释放异常发生之前分配的资源时,堆栈是展开的,所以会出现一些问题。d.“额外的”异常会妨碍真正错误类型的异常。这种使程序员更难 以跟踪大量的异常。
4.答:异常产生的方式有3种。第一种是在某些内部错误时,Java虚拟机可以产生异常,该异常不在你的程序控制范围内,通常不作处理。第二种是由程序代码中的错误引起,这种异常需要你的程序处理。第三种是通过使用throw语句手动生成的异常。
5.答:未捕获的异常最终会导致程序非正常终止。
6.public class ExceptionExam
{
public static void main(String [] args)
{
try
{
.........int i=0;
i=3/i;//将产生算术异常。
}
catch(ArithmeticException e)//找到了匹配的异常,执行该catch块。
{
System.out.println(“发生了ArithmeticException异常”);
}
catch(AarryIndexOutOfBoundsException e)//不是匹配的异常,且不会再捕获
//异常,如果发生数组索引超出范围所产生的异常,将执行该catch块。
{
System.out.println(“发生了AarryIndexOutOfBoundsException异常”);
}
catch(Exception e)
//前两个catch块均无法捕获try块中发生的异常时,才会执行该catch块。
{
System.out.println(“发生了异常”);
}
finally
{ System.out.println(“执行d Finally”);}
}
}
7.答:无论是出于何种原因,只要执行离开try/catch代码块,就会执行finally代码块。即无论try是否正常结束,都会执行 finally定义的最后的代码。如果try代码块中的任何代码或它的任何catch语句从方法返回,也会执行finally代码块。但本题中在try代 码块中执行了“System.exit(0);”语句,执行了这一语句后,Java虚拟机(JVM)将被终止。那么finally语句块一定不会被执行。
8.答:在某些情况下,如果一个方法产生自己不处理或无法处理的异常,它就必须在throws子句中声明该异常。
9.答:通常,可以采用两种方式来报告错误:返回值和异常。在Java中异常处理很常用,虽然返回错误代码在某些情况下是一种有效的方式,但是异常处理可以提供强大的结构化方法来处理异常。所以需要处理代码中的错误时就可以采用异常的方法进行处理。
10.答:ExceptionExam不是继承(扩展)Throwable的子类,只有Throwable的子类可以由throw抛出。所以,这一段代码会出错。
11.public class ExceptionExam1
{
public static void main(String [] args)
{
try
{int i=0;
i=3/i;
}
catch(ArithmeticException e)
{
.........System.out.println(“异常是:”+e.getMessage());
}
finally
{
System.out.println(“finally 语句被执行”);
}
}
}
注意:如果在catch 语句中声明的异常类是Exception,catch 语句也能正确地捕获,这是因为Exception 是ArithmeticException 的父类。如果不能确定会发生哪种情况的异常,那么最好指定catch的参数为Exception,即说明异常的类型为Exception。
12.class Excp1 extends Exception
{}
class Excp2 extends Excp1
{}
public class ExceptionExam7
{
public static void main(String [] args)throws Exception
{
try
{
throw new Excp2();
}
catch(Excp2 e)
{
System.out.println(“catch1”);
throw new Excp1();
}
catch(Excp1 e)
{
System.out.println(“catch2”);
throw new Exception();
}
catch(Exception e)
{
System.out.println(“catch3”);
}
finally
{
System.out.println(“finally”);
}
}
}
.........说明:自定义异常类,关键是选择继承的超类——必须是Exception或者其子类。用异常代表错误,而不要再使用方法返回值。
13.答:所谓流是指同一台计算机或网络中不同计算机之间有序运动着的数据序列,Java把这些不同来源和目标的数据都统一抽象为数据流。数据流可分为输入流和输出流,输入流代表从其他设备流入计算机的数据序列,输出流代表从计算机流向外部设备的数据序列。
流式输入输出的特点是数据的获取和发送沿数据序列的顺序进行,即每一个数据都必须等待排在它前面的数据,等前面的数据读入或送出之后才能被读写。所以流和队列一样,只能以“先进先出”的方式对其中的数据进行读写,而不能随意选择读写的位置。
14.答:两者都作为Object类的直接子类,基本输入流(无效Stream)和基本输出流(OutputStream)是处理以8位字节为基本单位的字节流类;Reader和Writer类是专门处理16位字符流的类。
15.答:构造函数有:
(1)public File(String pathname):创建一个对应于参数pathname的File类对象。参数pathname是包含目录和文件名的字符串。如果没有文件名,则代表目录。
(2)public File(String parent , String child):该构造函数将pathname分成两部分parent和child,参数parent表示目录或文件所在路径,参数child表示目录或文件名称。
(3)public File(File parent, String child):该构造函数与上面一个不同在于将parent的参数类型由String变为File,代表parent是一个已经创建的File类文件对象(指向目录)。
常用方法有:
(1)public boolean canWrite():返回文件是否可写。
(2)public boolean canRead():返回文件是否可读。
(3)public boolean createNewFile():当文件不存在时创建文件。
16.import java.io.*;
class CopyFile{
public static void main(String[] args){
String file1,file2;
int ch = 0;
try {
file1=args[0];
file2=args[1];
File无效Stream fis = new File无效Stream(file1);
FileOutputStream fos=new FileOutputStream(file2);
while((ch=fis.read())!=-1)
fos.write(ch);
fis.close();
fos.close();
}
catch(FileNotFoundException e){
System.out.println(“源文件:未找到!”);
}catch(ArrayIndexOutOfBoundsException e){
System.out.println(“缺少运行参数!”);
System.exit(-1);
}
.........catch(IOException e){
System.out.println(e.toString());
}
}
}
17.答:
import java.io.*;
public class NewFile{
public static void main(String args[]){
File f=new File(“test”);
if(f.exists()&&f.isDirectory())
System.err.println(“目录:”+f.toString()+“已经存在!”);
else{
if(f.mkdir()){
System.out.println(“目录”+f.getAbsolutePath()+“创建结束!”);
File f2=new File(f,“my.txt”);
try{
f2.createNewFile();
f2.setReadOnly();
}catch(IOException e){
System.out.println(e.toString());
}
System.out.println(“文件:”+f2.getAbsoluteFile()+“创建结束!”);
}
else
System.out.println(“目录”+f.getAbsoluteFile()+“创建失败!”);
}
}
}
18.答:要实现对文件的随机读取,也就是在文件的任何位置执行读写数据的操作,需要一个指针来指定读写的位置。在创建 RandomAccessFile类对象的同时,系统自动创建了一个指向这个文件开头的指针,当执行读写操作后,指针自动指向被读写数据之后的第一个字节 处。指针初始值是0,每读/写一个字节,指针自动增加1。RandomAccessFile类提供了一些控制指针移动的方法。
public long getFilePointer();获取当前指针指向文件的位置。考试大论坛
pulbic void seek(long pos);将指针移动到参数pos指定的位置。
public int skipBytes(int n);指针从当前位置向后移动n个字节位置,并返回指针实际移动的字节数。
19.答:
import java.io.*;
public class Count{
public static void main(String[] args)
{
int x=0,y=0,z=0;
.........int ch;try{ while((ch=System.in.read())!='r'){ if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')x++;else if(ch>='0'&&ch<='9')y++;else z++;} }catch(IOException e){ System.out.println(e.toString());} System.out.println(“英文字母:”+x);System.out.println(“数字字符:”+y);System.out.println(“其它字符:”+z);} } 20.答:
import java.io.*;public class InFile{ public static void main(String[] args){ int ch;try{ FileOutputStream out=new FileOutputStream(“a.txt”);while((ch=System.in.read())!='r'){ System.out.write(ch);out.write(ch);} out.close();System.out.write('n');}catch(IOException e){ System.out.println(e.toString());} System.out.println(“输出至文件完毕!”);} } 21.答:
import java.io.*;public class Sort{ public static void main(String args[]){ int a[]=new int[10];
.........byte b[]=new byte[10];
int t;
String str;
System.out.println(“请输入10个整数:”);
try{
for(int i=0;i<10;i++)
{System.out.print(“No.”+(i+1)+“: ”);
System.in.read(b);
str=new String(b);
str=str.trim();
a[i]=Integer.parseInt(str);
}
}catch(IOException e){
System.out.println(e.toString());
}
catch(NumberFormatException e){
System.out.println(e.toString());
}
for(int i=0;i<9;i++)
for(int j=i+1;j<10;j++)
{
if(a[i]>a[j]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
for(int i=0;i<10;i++)
System.out.println(a[i]+“t”);
}
}
自考Java语言程序设计
(一)第九章JavaApplet概述课后习题
九、Java Applet概述
1.下列方法中,哪一个不是Applet的基本方法()
A、init()B、run()C、stop()D、start()
2.在Java中判定Applet的来源的方法有()
A、getcodebase()B、get文档base()
C、getCodeBase()D、get文档Bade()
3.下面关于Applet的说法正确的是
A、Applet也需要main方法
B、Applet必须继承自javawt.Applet
.........()
C、Applet能访问本地文件 D、Applet程序不需要编译
4.Applet类的直接父类是()A.Component类
B.Container类
C.Frame类
D.Panel类
5.判断:一个Applet编译后的类名是Test.class,运行此小程序的命令是Java Test。
6.编写同时具有Applet与Application的特征的程序。具体方法是:作为Application要定义main()方法,并且把 main()方法所在的类定义一个类。为使该程序成为一个Applet,main()方法所在的这个类必须继承Applet类或JApplet类。www.xiexiebang.com d.二者都没有
7.下面的__________用户界面组件不是容器。a.JScrollPane b.JFrame考试大-全国最大教育类网站(www.xiexiebang.com)c.JWindows d.JScrollBar 8.创建下面的GUI,颜色列表框为红色、绿色和蓝色(不必为各组件提供功能)。参考答案 1.false 2.true 3.标签 4.B D 5.B 6.C 7.D 8.参考程序如下: import javawt.*;public class Chp9_3_B extends Frame{ Choice ch;Checkbox bg,fg;Button btnOK,btnCancel;Panel p,p1,p2;public Chp9_3_B(){ p=new Panel();p.setLayout(new GridLayout(2,1));p1=new Panel();p2=new Panel();p1.setLayout(new FlowLayout());
.........p2.setLayout(new FlowLayout());ch=new Choice();ch.add(“红色”);ch.add(“绿色”);ch.add(“蓝色”);bg=new Checkbox(“背景”);fg=new Checkbox(“前景”);p1.add(bg);p1.add(fg);btnOK=new Button(“确定”);btnCancel=new Button(“取消”);p2.add(btnOK);p2.add(btnCancel);p.add(p1);p.add(p2);add(ch,BorderLayout.NORTH);add(p,BorderLayout.CENTER);setSize(400,300);} public static void main(String[] args){ new Chp9_3_B().setVisible(true);} }
自考Java语言程序设计
(一)第十三章课后习题
十三、常用组件之二 _______单行文本框与多行文本框,单选框和复选框
1.判断:列表对象总包含滚动条。()
2.判断:面板的默认管理器是BorderLayout。
3.____________类用于创建一组单选按钮。来源:考试大
4.欲编写如下图的一个界面,用于显示用户指定的图像: 如果在区域A中只能放置一个
AWT组件,从各组件的本来功能角度考虑,最好使用哪种组件:
A、TextArea
B、Panel
C、Applet
D、Canvas
5.Java应用程序中的默认外观是_________。
A.Motif
B.Windows
C.METAl
.........6.创建下面的GUI,要求在文本框中输入分数,单击“求和”按钮后在结果文本框中显示总分。
7.编写一个将华氏温度转换为摄氏温度的程序。应从键盘输入华氏温度,然后通过文本显示转换后的摄氏温度。使用下面的公式进行温度转换:
摄氏温度=5/9Χ(华氏温度-32)
8.编写一个程序,使用户能够使用鼠标在applet中绘制一个矩形。按住鼠标左键,确定矩形的左上角,然后拖动鼠标,在需要的位置(即矩形右下角)释放鼠标。另外,在状态栏中显示矩形面积。
参考答案
1.false
2.true
3.CheckboxGroup
4.D
5. C
6.参考程序如下:
import javawt.*;来源:考试大
import javawt.event.*;
public class Chp9_3_C extends Frame implements ActionListener{
TextField textField1,textField2,textField3;
Button button1=new Button(“求和”);
Panel panel1,panel2;
public Chp9_3_C(){
textField1=new TextField();
textField2=new TextField();
textField3=new TextField();
panel1=new Panel();
panel2=new Panel();
panel1.setLayout(new GridLayout(3,2));
panel2.setLayout(new FlowLayout());
panel1.add(new Label(“数学: ”));
panel1.add(textField1);
panel1.add(new Label(“英语: ”));
panel1.add(textField2);
panel1.add(new Label(“总分: ”));
panel1.add(textField3);
panel2.add(button1);
add(panel1,BorderLayout.CENTER);
add(panel2,BorderLayout.SOUTH);
button1.addActionListener(this);
setSize(300,200);
setVisible(true);
}
public static void main(String[] args){
new Chp9_3_C();
.........} public void actionPerformed(ActionEvent e){ int n1,n2,sum;n1=Integer.parseInt(textField1.getText());n2=Integer.parseInt(textField2.getText());sum=n1+n2;textField3.setText(“"+sum);} } 6.参考程序如下: import javawt.*;import javawt.event.*;public class Chp9_3_D extends Frame{ TextField textField1,textField2;Button button1;public Chp9_3_D(){ textField1=new TextField(30);textField2=new TextField(30);button1=new Button(”转换“);setLayout(new FlowLayout());add(new Label(”华氏温度:“));add(textField1);add(new Label(”摄氏温度:“));add(textField2);textField2.setEditable(false);add(button1);setSize(400,300);pack();button1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ button1_actionPerformed(e);} });addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0);} });} public static void main(String[] args){ new Chp9_3_D().setVisible(true);} private void button1_actionPerformed(ActionEvent e){ double d=Double.parseDouble(textField1.getText());
.........double h=5.0/9.0*(d-32);
textField2.setText(”“+h);
}
}
7.参考程序如下:
import javapplet.Applet;
import javawt.*;
import javawt.event.*;
public class Chp9_3_E MouseListener,MouseMotionListener{
int x1,y1,x2,y2;
public void init(){
addMouseListener(this);
addMouseMotionListener(this);
}
public void paint(Graphics g){
g.drawRect(x1,y1,x2,y2);
int area=Math.abs(x2-x1)*Math.abs(y2-y1);
showStatus(”矩形面积: "+area);
}
//implementation of MouseListener
public void mousePressed(MouseEvent e){
x1=e.getX();
y1=e.getY();
}
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
//implementation of MouseMotionEvent
public void mouseDragged(MouseEvent e){
x2=e.getX();
y2=e.getY();
repaint();
}
public void mouseMoved(MouseEvent e){}
}
extends Applet implements