java考试代码例题_第1页
java考试代码例题_第2页
java考试代码例题_第3页
java考试代码例题_第4页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精品文档Java 复习题汇总编程题1 、编程序,输入 a,b,c ,求方程a x 2 +bx+c=0 的解。package 一元二次方程 2;importjava.util.Scanner;publicclass一元二次方程 2 publicstaticvoidmain(Stringargs ) Scanner reader=new Scanner(System.in );doubled =0;inti =0;doublea =0;doubleb =0;doublec =0;doubledis=0;doi +;if( i 1)System.out .println( 数值错误,请重新输入: )

2、;System.out.println( 请输入 a 的值: );a=reader .nextInt();System.out.println( 请输入 b 的值: );b=reader .nextInt();System.out.println( 请输入 c的值: );c =reader.nextInt();doubledis2=b* b-4*a* c ;d=dis2;dis=Math.sqrt( b* b-4* a* c); while( d 0);doublex1=(-1*b+ dis)/(2*a);doublex2=(-1*b- dis)/(2*a);System.out.printl

3、n(x1 );System.out.println(x2 );.精品文档2、编程计算 :1*2*3+3*4*5+ +99*100*101的值。package作业 618;publicclass作业 618 publicstaticvoidmain(Stringargs ) intsum=0;for ( inti =1; i =50; i +)inta=(2* i -1)*(2*i )*(2*i +1);sum=sum+a;System.out .println(sum);3 、求全部水仙花数。 所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。如: 153 = 135333 。packa

4、ge水仙花数 ;publicclass水仙花数 publicstaticvoidmain(Stringargs ) for( inti =100;i 1000;i +)inty=i %10;intx=i /10%10;intz=i /10/10%10;intsum=x * x * x + y* y* y +z * z * z;if ( sum=i )System.out.println(i + 是水仙花数 );4 、求下列式子的值, y=1-2+3-4+ +99-100 并将结果输出,格式为1-2+3-4+ +99-100=表达式的值。package作业 620;import.精品文档publ

5、icclass作业 620 publicstaticvoidmain(Stringargs ) StringBuffera=new StringBuffer();a.append(1);intsum=0;intj =0;for ( inti =1; i 0)a.append(+ +b);sum=sum+b;j +;Stringc =a.toString();System.out .println(c+= +sum);5 、请编制程序判断输入的正整数是否既是5 又是 7 的整倍数。若是,则输出yes;否则输出 no。package作业 621;importpublic class作业 621 p

6、ublicstaticvoidmain(Stringargs) System.out.println( 请输入一个正整数: );Scannerreader=new Scanner(System.in);inta=reader .nextInt();intb=a%5;intc =a%7;if ( b=0&c =0)System.out.println(YES ); else System.out.println(NO );.精品文档6 、按以下要求编写程序(1)编写 Animal 接口,接口中声明run()方法(2) 定义 Bird 类和 Fish 类实现 Animal 接口(3)编写 Bird

7、 类和 Fish 类的测试程序,并调用其中的run() 方法package作业 6231;publicclass作业 623 publicstaticvoidmain(Stringargs ) Birda=new Bird();a.run();Fishb=new Fish();b.run();interfaceAnimalpublicvoidrun();classBirdimplementsAnimalpublicvoidrun()System.out .println(Bird方法实现了Animal接口 );classFishimplementsAnimalpublicvoidrun()Sy

8、stem.out .println(Fish方法实现了Animal接口 );.精品文档7 、按以下要求编写程序(1) 创建一个 Rectangle 类,添加 width 和 height 两个成员变量(2) 在 Rectangle 中添加两种方法分别计算矩形的周长和面积(3) 编程利用 Rectangle 输出一个矩形的周长和面积package作业 6232;publicclassRectangle doublewidth;doubleheight;publicstaticvoidmain(Stringargs ) Rectanglemj =new Rectangle();mj .mianji

9、(2.5,3);mj .zhouchang(4,5);voidmianji(doublea, doubleb)doublec =a* b ;System. out .println(c );voidzhouchang(doublea, doubleb)doubled =2*( a+b);System. out .println();8 、对于给定的一个百分制成绩, 输出相应的五分制成绩。 设:90 分以上为A,8089 分为 B,7079 分为 C,6069 分为 D,60 分以下为 E。package作业 6233;importpublicclass选择 1 publicstaticvoid

10、main(Stringargs ) Scannerreader=new Scanner(System.in );System. out .println( 请输入成绩: );doublea =reader.nextDouble();if ( a=90& a=100)System.out .println(A );.精品文档elseif ( a=80)System.out.println(B );elseif ( a=70)System.out.println(C );if( a=60)System.out.println(D );if( a60)System.out.println(E );e

11、lseSystem.out.println( 输入的成绩错误 );9 、设 n 为自然数, n! =1*2*3* *n称为 n 的阶乘,并规定 0!=1. 试编制程序计算 2!, 4!, 6!和 10!,并将结果输出到屏幕上。package阶乘 1;publicclasstre publicstaticvoidmain(Stringargs ) jiechenga=new jiecheng();a.xuhh(2);a.xuhh(4);a.xuhh(6);a.xuhh(10);classjiechenginti ;voidxuhh(inta)intn=a;intt =1;for ( i =1;

12、i =n ; i +)t =t * i ;System. out .println(t );.精品文档10 、(2.7 )试编码定义一个公有类pubtest,它含有两个浮点类型变量fvar1和 fvar2,还有一个整数类型的变量ivar1, pubtest类中有一个方法sumFI ,它将 fvar1与 ivar1的值相加,结果放在fvar2中。package作业 6281;publicclasspubtest publicstaticvoidmain(Stringargs ) pubtestsum= new pubtest();sum.sumFI(12.3f, 12);floatfvar1;f

13、loatfvar2;intivar1;voidsumFI(floata, intb)fvar1=a;ivar1=b;fvar2=fvar1+ ivar1;System. out .println(fvar2);11 、( 3.4 )使用类,生成 100 个 099 之间的随机整数,找出它们之中的最大者及最小者,并统计大于50 的整数个数。提示:Math 类支持 random方法:Public static synchronized double random( )该方法返回一个0.01.0 之间的小数,如果要得到其他范围的数, 需要进行相应的转换。例如想得到一个099 之间的整数,可以使用下列

14、语句:Int num=(int)(100*Math.random( );package作业 11;importpublicclass作业 6282 .精品文档publicstaticvoidmain(Stringargs ) inta=newint100;intg=0;/计数器intmin =0;/最小值标记intmax=0;/最大值标记for ( inti =0;i 50)g+;for ( intj =0; j a j )min = j ;if( a max a j )max= j ;System. out .println(System. out .println(System. out

15、.println(a min );a max); 大于 50 的正整数个数为 +g);12、(4.3) 选择一组等长的英文单词,例如,一组4 个字母组成的单词:Work back come deal desk book javatool face一组 5 个字母组成的单词:Watch match noise risky stock试定义一个字符串数组, 数组中每一个元素存储一个英文单词,元素个数根据选择的英语单词长度而定。 再按照电话机表盘定义数字与字母的对应关系。如数字2 对应 a 或 b 或 c,数字 5 对应 j 或 k 或 l 。现编制一个程序,要求将用户输入的数字串转换成相应的字符串

16、(注意一个数字串对应多个字符串),将这些字符串与数组中存储的英文单词逐个比较,如果某一字符串与英文单词匹配成功,则.精品文档在屏幕上输出数字串及对应的单词, 如果都不匹配,则在屏幕上输出一条信息 “没有匹配的单词”。(下面代码复制粘贴时注意注释部分换行报错)package作业 12;importpublicclass作业 6283 publicstaticvoidmain(Stringargs ) Stringdt =work, back, come , deal, desk, book, java, tool, face;Scannerreader=new Scanner(System.in

17、 );System. out .println( 请输入一个四位数: );intx =reader.nextInt();longtha =new longth();/ 用自定义的类longth建立对象ainti =a.changdu(x); /用 a 对下面方法的调用inttemp = x ; / 将 x 的数值赋给temp ,后面随着求x 各个位数上的数使得x 值发生了变化,所以在后面用到数值x 初始值的地方即可以用temp 来代替StringBuffer sz =new StringBufferi ; / 建立每个元素存储内容可以改变的字符串型数组sz ,它的长度i 就是调用方法所得的值S

18、tringstr=new Stringi ; / 建立一个长度为i的数组,为了后面将StringBuffer型数组转变成String型数组后存入其内部intARRAY=new int 4;/ 建立数组ARRAY 来存储 x 每个位上的数StringbasicChar= abc*def*ghi*jkl*mno*pqrs*tuv*wxyz; / 字符串存储电话号码盘上的字母StringsourceStrArray=basicChar.split(*); / 以 * 为分界线将字符串分割成数组for ( intT=0; Tsz . length; T+) / 本类数组型变量引用本类对象sz T= n

19、ew StringBuffer();intaaa = sz . length;for ( intj =4, h=0; h=2& ARRAY h=6| ARRAY h =8) / 结合前面, aaa 的作用是起到了计数器的作用,它的值随着每一次的aaa =aaa /3;/ 大 for循环执行而除以3或者 4,当电话盘号码对应3 个字母时除以3 ,对应/4个时除以4,else if ( ARRAY h=7| ARRAY h =9) / 再结合这里, 以 9675 数字为例,该数字共需要 144 个长度的数组来保存,.精品文档/ 第一次求得ARRAY0 为 9,所以执行144 除以 4aaa =aa

20、a /4; else System.out .println( 没有匹配的单词 );break ;for( intA=0, B=0, bbb =1; A=2& ARRAY h=6|ARRAY h=8)if ( A=aaa * bbb )B+;bbb +;intC=B%3;sz A.append(sourceStrArray ARRAY h-2.charAt(C);elseif( ARRAY h=7|ARRAY h=9)if ( A=aaa * bbb )/ 在第一次执行内for循环时,当A小于 144/4时,由于B=0 ,所以前144/4个元素的B+;/ 第一个字母都是存储的9 所对应的电话号

21、码盘的第一个字母p,当 A=144/4之后, B 加了 1bbb +;/ 所以第二组144/4个元素存储的是9 所对应电话号码盘的第二个元素q,同理,第三组144/4/ 个元素存储的是第三个字母r ,最后一组 144/4个元素对应的是第四个字母sintD= B%4;/ 第二次执行大for循环时, aaa 的初始值发生了变化,每组元素的个数变成了144/4/3个/ ,给每组元素的第二个字母赋值。第三次执行大for循环,每组元素个数变成144/4/3/4个sz A.append(sourceStrArray ARRAY h-2.charAt(D);/ 依次类推,最后给每个元素存储了四个字母loop

22、:for ( intjq =0; jq sz . length; jq +)str jq = sz jq .toString();/ 将 StringBuffer类型转变为String类型.精品文档for ( intbq =0; bq 9;bq+)if( str jq .equals(dt bq) / 相等则按要求输出,跳出两个循环System.out.println(temp );System.out.println(dt bq);breakloop;if ( jq = sz . length-1)/ 不想等按要求输出System.out .println( 没有匹配的单词 );class

23、longth / 建立这个类的目的是要建立一个方法来查清一共需要多少个元素来存储输入数字串所对应的字母串intchangdu(intx )intt =1;int b = 0,0,0,0;for ( inta=0; a4; a+)b a= x %10;x =x /10;for ( intc=0; c =2& b c=6|b c =8)t =t *3;elseif( b c =7|b c=9)t =t *4;returnt ;.精品文档13 、(12.10 )图书馆用一个文本文件booklist.txt记录图书的书目,其中包括 book1, book2, book10。现在又采购了一批新书,请利用

24、本章中的内容编写一个程序,将新书的书目增加到原来的文本文件中。(被注释掉部分是为了验证对象已被写入文件中, 不需要出现在代码中, 在运行本程序时一定要先在 d 盘建立名为“ java 流练习”的文件,而且由于未找到方法读取 booklist1.txt中已经提前存入的十本书的信息)package作业 133;importpublic class作业 763 publicstaticvoid main(Stringargs ) throws Exception Tt1=new T();t1. author= 巴尔扎克 ;t1. bookcode = book11;t1. bookname = 高老

25、头 ;Tt2=new T();t2. author= 巴尔扎克 ;t2. bookcode = book12;t2. bookname = 欧也妮葛朗台 ;Tt3=new T();t3. author=大仲马 ;t3. bookcode = book13;t3. bookname = 基督山恩仇记 ;Tt4=new T();t4. author=司汤达 ;t4. bookcode = book14;t4. bookname = 红与黑 ;FileOutputStreamout ;out =new FileOutputStream(F:java流练习 bookList1.txt);ObjectO

26、utputStreamoos =new ObjectOutputStream(out );oos .writeObject(t1);oos .writeObject(t2);oos .writeObject(t3);oos .writeObject(t4);oos .flush();oos .close();/ObjectInputStream ois=new ObjectInputStream(newFileInputStream(F:java流练习 bookList1.txt);/T t5=(T)ois.readObject();.精品文档/T t6=(T)ois.readObject()

27、;/T t7=(T)ois.readObject();/T t8=(T)ois.readObject();/ class T implements Serializable String bookname ;Stringauthor ;Stringbookcode ;思考题1、使用 StringBuffer类与 String类进行字符串连接时有何区别?String类进行字符串连接时会创建一个新的字符串对象,再将字符串常量指向这个新的字符串。StringBuffer类进行字符串连接时会在原来的字符串后面加上新的字符串。2、swtich 是否能作用在 byte 上,是否能作用在 long 上,是否

28、能作用在 String上 ?能作用在 byte 上,在 jdk7.0之前,是不可以作用在long 和 String上。在 jdk7.0之后,可以作用在long 和 String上。3、abstractclass 和 interface有什么区别 ?见第 24题4、什么是 Overload 和 Override ,它们有什么区别?方法的重写: Override方法的重载: Overload.精品文档见第 20题5、error和 exception有什么区别 ?Error 类描述内部错误,它由系统保留,程序不能抛出这种类型的对象,Error类的对象不可捕获、不可恢复,出错时所能做的事情就是系统通知

29、用户并终止程序。 而 Exception 类则可供程序使用, 即可捕获,可恢复。6、( 1.1 )Java 语言是由哪个公司推出的?简述Java 语言的特点。Sun Microsystem公司简单性面向对象分布性健壮性安全性体系结构中立可移植性解释型语言高效性多线程机制动态性7、( 1.2 )什么是 Java 虚拟机?它包指哪几部分?Java 虚拟机(Java VirtualMachine 简称 JVM)是运行所有 Java程序的抽象计算机,是Java 语言的运行环境。Java 虚拟机由五个部分组成:一组指令集、一组寄存器、一个栈、一个无用单元收集堆(Garbage-collected-hea

30、p)、一个方法区域。8、( l.3 )简述 JVM的工作机制。(未验证)第一步先加载class 文件,整个过程分为装载,连接,初始化三部分。.精品文档第二部分是分配内存区域,涉及到的区域有pc 寄存器, JVM栈,堆,方法区域,运行时常量池,本地方法堆栈。第三部分是执行JVM垃圾回收。 GC中用于回收的方法称为收集器,由于 GC需要消耗一些资源和时间,Java 在对对象的生命周期特征进行分析后,按照新生代、旧生代的方式来对对象进行收集,以尽可能的缩短 GC对应用造成的暂停。9、( 2.3 )请叙述标识符的定义规则。Java 语言规定标识符由字母、数字、下划线、美元符号组成,且第一个字符不能是数

31、字。10、( 2.4 )Java 中共有哪些基本数据类型,它们分别用什么符号来表示,各自的取值范围是多大?试着对每种数据类型定义一个变量,并给它赋一个值。Java 中共有四类八种基本数据类型。属于整型的是字节型( byte ),基本型( int ),短整型(short ),长整型( long )属于实型的是单精度( float), 双精度( double )。字符型用 char 来表示布尔型用 boolean 来表示boolean 是只可以取两个值,一个是true ,一个是 false 。booleana =true;char 从 unicode 字符集中取值。charb=3;byte 可以取

32、 -128 到 127 之间的任意整数bytec =126;.精品文档short 可以取 -32768 到 32767 之间的任意整数shortd =4527;int可以取 -231 到 231-1 之间的任意整数inte=163;long 可以取值 -263 到 263-1 之间的任意整数longf =965302l;float和 double 根据 IEEE754-1985 标准,Float 取值 1.2E(-38 )到 3.4E381(未验证)Double 取值 2.2E(-308 )到 1.8E3082(未验证)floatg=88.362f;doubleh =23.4e3;11、( 2

33、.5 )什么是类?什么是面向对象的程序设计方法?类是对某种具有共同特征的一类对象的定义,即类定义了一类对象的类型,属于该类型的所有对象都具有相同的变量和方法。面向对象程序设计( OOP)是一种程序设计范型,同时也是一种程序开发的方法。面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想。 面向对象程序设计中的每一个对象都应该能够接受数据、 处理数据并将数据传达给其它对象,因此它们都可以被看作一个小型的“机器”,即对象。12、( 5.1) 详细说明类是如何定义的,解释类的特性及它的几个要素。声明一个类需要四个部分, 第一是用类修饰符来修饰类名。第二是说明一个类的父类。第三是说

34、明一个类所实现的接口。第四是类体类的三大特性是:类的继承、类的封装、类的多态.精品文档类的构成要素有成员方法和成员变量和类声明。(未验证)13、(5.3) 什么是抽象类?它如何定义?抽象类是没有具体对象的概念类, 这样的类要在 class 关键字前用修饰符 abstract加以修饰。14、(6.1) 什么是异常?解释抛出捕获的含义。异常指的是程序执行时出现的意外情况,是不可以预测的。(未验证)Java 应用程序在运行时如果出现了一个可识别的错误,就会产生一个与该错误相对应的异常类的对象。这个对象包含了异常的类型和错误出现时所处的状态信息,该异常对象首先被交给java 虚拟机,由虚拟机来寻找具体

35、的异常处理者。在java 中把产生异常对象并将其交给 java 虚拟机的过程称为抛出对象。当一个异常被抛出时会有一个专门的语句来识别这个被抛出的对象,这个过程被称为异常的捕获。15、(6.2)java是如何处理异常的?Java 采用的 try catch 语句来捕获和处理异常对象。一旦一个异常对象被抛出之后, 用户程序就会发生程序的跳转至与这个异常对象匹配的异常处理语句块,来对异常进行处理。16、(6.3) 在什么情况下执行try语句中 finally后面的代码段?在什么情况下不执行?试举例说明。有三种执行情况,课本264 页最后及 265 页开 始.精品文档Finally语句是一种强制的,无

36、条件执行的语句,无论程序是否出现异常,也不管 try 中包含何种语句, 必须要执行 finally中包含的语句。举例在课本 266 页上方17、(6.4) 你能说出 java 中常见的几个异常么?他们表示什么意思?在什么情况下引起这些异常?NullPointerException:零指针异常, 引用了一个空对象的属性或方法ArrayIndexOutOfBoundsException:数组下标越界异常, 数组访问越界ClassCastException :类型转化异常,一个错误的类型转换 ArithmeticException :算数异常,算数方面引起的异常,比如用整数去整除 018、(7.4 )java 中提供了几种布局管理器?简述它们之间的区别。课本第 159 页最后布局管理器部分19、( 7.5 ) Frame和 Panel 默认的布局管理器分别是什么类型?Frame默认的布局管理器是BorderLayoutPanel 默认的布局管理器是FlowLayout20、什么叫做方法重载?什么叫做方法重写?它们之间的区别是什么?关键字this和关键字 super 在成员方法中的特殊作用是什么?.精品文档重载是指在同一个类中定义多个同名的方法, 这些方法同名的原因是具有相同

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论