




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、传播优秀Word版文档 ,希望对您有帮助,可双击去除!Java复习题汇总编程题 1、编程序,输入a,b,c,求方程a+bx+c=0的解。package 一元二次方程2;import java.util.Scanner;public class 一元二次方程2 public static void main(String args) Scanner reader=new Scanner(System.in);double d=0;int i=0;double a=0;double b=0;double c=0;double dis=0;doi+;if(i1)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();double dis2=b*b-4*a*c;d=dis2; dis=Math.sqrt(b*b-4*a*c);while(d0);double x1=(-1*b+dis)/(2*a);double x2=(-1*b-dis)/(2*a);System.out.println(x1);S
3、ystem.out.println(x2); 2、 编程计算:1*2*3+3*4*5+99*100*101的值。package 作业618;public class 作业618 public static void main(String args) int sum=0;for(int i=1;i=50;i+)int a=(2*i-1)*(2*i)*(2*i+1);sum=sum+a;System.out.println(sum); 3、求全部水仙花数。所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。如:153 = 。package 水仙花数;public class 水仙花数 pub
4、lic static void main(String args) for(int i=100;i1000;i+) int y=i%10; int x=i/10%10; int z=i/10/10%10;int sum=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 java.lang.StringBuffer;public class 作业620 public static
5、void main(String args) StringBuffer a=new StringBuffer();a.append(1);int sum=0;int j=0;for(int i=1;i0) a.append(+b);sum=sum+b;j+;String c=a.toString();System.out.println(c+=+sum); 5、请编制程序判断输入的正整数是否既是5又是7的整倍数。若是,则输出yes;否则输出no。package 作业621;import java.util.Scanner;public class 作业621 public static voi
6、d main(String args) System.out.println(请输入一个正整数:);Scanner reader=new Scanner(System.in);int a=reader.nextInt();int b=a%5;int c=a%7;if(b=0&c=0)System.out.println(YES);elseSystem.out.println(NO); 6、按以下要求编写程序(1)编写Animal接口,接口中声明run()方法(2)定义Bird类和Fish类实现Animal接口(3)编写Bird类和Fish类的测试程序,并调用其中的run()方法package
7、作业6231;public class 作业623 public static void main(String args) Bird a=new Bird();a.run();Fish b=new Fish();b.run(); interface Animalpublic void run(); class Bird implements Animal public void run() System.out.println(Bird方法实现了Animal接口); class Fish implements Animal public void run() System.out.print
8、ln(Fish方法实现了Animal接口); 7、按以下要求编写程序(1)创建一个Rectangle类,添加width和height两个成员变量(2)在Rectangle中添加两种方法分别计算矩形的周长和面积(3)编程利用Rectangle输出一个矩形的周长和面积package 作业6232;public class Rectangle double width;double height;public static void main(String args) Rectangle mj=new Rectangle();mj.mianji(2.5,3);mj.zhouchang(4,5);vo
9、id mianji(double a,double b)double c=a*b;System.out.println(c);void zhouchang(double a,double b)double d=2*(a+b);System.out.println(); 8、对于给定的一个百分制成绩,输出相应的五分制成绩。设:90分以上为A,8089分为B,7079分为C,6069分为D,60分以下为E。package 作业6233;import java.util.Scanner;public class 选择1 public static void main(String args) Sca
10、nner reader=new Scanner(System.in);System.out.println(请输入成绩:);double a=reader.nextDouble();if(a=90&a=100)System.out.println(A);else if(a=80)System.out.println(B);else if(a=70)System.out.println(C);if(a=60)System.out.println(D);if(a60)System.out.println(E);elseSystem.out.println(输入的成绩错误); 9、设n为自然数,n!
11、=1*2*3*n 称为n的阶乘,并规定0!=1.试编制程序计算2!,4!,6!和10!,并将结果输出到屏幕上。package 阶乘1;public class tre public static void main(String args) jiecheng a=new jiecheng();a.xuhh(2);a.xuhh(4);a.xuhh(6);a.xuhh(10);class jiechengint i;void xuhh(int a)int n=a;int t=1;for(i=1;i=n;i+)t=t*i;System.out.println(t); 10、(2.7)试编码定义一个公
12、有类 pubtest,它含有两个浮点类型变量fvar1和 fvar2,还有一个整数类型的变量 ivar1, pubtest类中有一个方法 sumFI,它将fvar1 与ivar1 的值相加,结果放在 fvar2 中。package 作业6281;public class pubtest public static void main(String args) pubtest sum=new pubtest();sum.sumFI(12.3f, 12);float fvar1;float fvar2;int ivar1;void sumFI(float a,int b)fvar1=a;ivar1
13、=b;fvar2=fvar1+ivar1;System.out.println(fvar2); 11、(3.4)使用java.lang.Math类,生成100个099之间的随机整数,找出它们之中的最大者及最小者,并统计大于50的整数个数。提示:Math类支持random方法:Public static synchronized double random( )该方法返回一个0.01.0之间的小数,如果要得到其他范围的数,需要进行相应的转换。例如想得到一个099之间的整数,可以使用下列语句:Int num=(int)(100*Math.random( );package 作业11;import
14、java.lang.Math;public class 作业6282 public static void main(String args) int a=new int100;int g=0;/计数器int min=0;/最小值标记int max=0;/最大值标记for(int i=0;i50)g+;for(int j=0;jaj)min=j;if(amaxaj)max=j;System.out.println(amin);System.out.println(amax);System.out.println(大于50的正整数个数为+g);12、(4.3)选择一组等长的英文单词,例如,一组4
15、个字母组成的单词:Work back come deal desk book java tool face一组5个字母组成的单词:Watch match noise risky stock 试定义一个字符串数组,数组中每一个元素存储一个英文单词,元素个数根据选择的英语单词长度而定。再按照电话机表盘定义数字与字母的对应关系。如数字2对应a或b或c,数字5对应j或k或l。现编制一个程序,要求将用户输入的数字串转换成相应的字符串(注意一个数字串对应多个字符串),将这些字符串与数组中存储的英文单词逐个比较,如果某一字符串与英文单词匹配成功,则在屏幕上输出数字串及对应的单词,如果都不匹配,则在屏幕上输出
16、一条信息“没有匹配的单词”。(下面代码复制粘贴时注意注释部分换行报错)package 作业12;import java.util.Scanner;public class 作业6283 public static void main(String args) String dt=work,back,come,deal,desk,book,java,tool,face;Scanner reader=new Scanner(System.in);System.out.println(请输入一个四位数:);int x=reader.nextInt();longth a=new longth();/用
17、自定义的类longth建立对象aint i=a.changdu(x);/用a对下面方法的调用int temp=x;/将x的数值赋给temp,后面随着求x各个位数上的数使得x值发生了变化,所以在后面用到数值x初始值的地方即可以用temp来代替StringBuffer sz=new StringBufferi;/建立每个元素存储内容可以改变的字符串型数组sz,它的长度i就是调用方法所得的值String str=new Stringi;/建立一个长度为i的数组,为了后面将StringBuffer型数组转变成String型数组后存入其内部int ARRAY=new int4;/建立数组ARRAY来存储
18、x每个位上的数String basicChar=abc*def*ghi*jkl*mno*pqrs*tuv*wxyz; /字符串存储电话号码盘上的字母String sourceStrArray = basicChar.split(*);/以*为分界线将字符串分割成数组for(int T=0;Tsz.length;T+)/本类数组型变量引用本类对象szT=new StringBuffer();int aaa=sz.length;for(int j=4,h=0;h=2&ARRAYh=6|ARRAYh=8)/结合前面,aaa的作用是起到了计数器的作用,它的值随着每一次的aaa=aaa/3;/大for循
19、环执行而除以3或者4,当电话盘号码对应3个字母时除以3,对应/4个时除以4,else if(ARRAYh=7|ARRAYh=9)/再结合这里,以9675数字为例,该数字共需要144个长度的数组来保存,/第一次求得ARRAY0为9,所以执行144除以4aaa=aaa/4;elseSystem.out.println(没有匹配的单词);break;for(int A=0,B=0,bbb=1;A=2&ARRAYh=6|ARRAYh=8)if(A=aaa*bbb)B+;bbb+;int C=B%3;szA.append(sourceStrArrayARRAYh-2.charAt(C);else if(
20、ARRAYh=7|ARRAYh=9)if(A=aaa*bbb)/在第一次执行内for循环时,当A小于144/4时,由于B=0,所以前144/4个元素的B+;/第一个字母都是存储的9所对应的电话号码盘的第一个字母p,当A=144/4之后,B加了1bbb+;/所以第二组144/4个元素存储的是9所对应电话号码盘的第二个元素q,同理,第三组144/4/个元素存储的是第三个字母r,最后一组144/4个元素对应的是第四个字母sint D=B%4;/第二次执行大for循环时,aaa的初始值发生了变化,每组元素的个数变成了144/4/3个/,给每组元素的第二个字母赋值。第三次执行大for循环,每组元素个数变
21、成144/4/3/4个szA.append(sourceStrArrayARRAYh-2.charAt(D);/依次类推,最后给每个元素存储了四个字母loop:for(int jq=0;jqsz.length;jq+)strjq=szjq.toString();/将StringBuffer类型转变为String类型for(int bq=0;bq9;bq+)if(strjq.equals(dtbq)/相等则按要求输出,跳出两个循环System.out.println(temp);System.out.println(dtbq);break loop; if(jq=sz.length-1)/不想等
22、按要求输出System.out.println(没有匹配的单词);class longth/建立这个类的目的是要建立一个方法来查清一共需要多少个元素来存储输入数字串所对应的字母串int changdu(int x)int t=1;intb = 0,0,0,0;for(int a=0;a4;a+)ba=x%10;x=x/10;for(int c=0;c=2&bc=6|bc=8)t=t*3;else if(bc=7|bc=9)t=t*4;return t; 13、(12.10)图书馆用一个文本文件booklist.txt记录图书的书目,其中包括book1,book2,book10。现在又采购了一批
23、新书,请利用本章中的内容编写一个程序,将新书的书目增加到原来的文本文件中。(被注释掉部分是为了验证对象已被写入文件中,不需要出现在代码中,在运行本程序时一定要先在d盘建立名为“java流练习”的文件,而且由于未找到方法读取booklist1.txt中已经提前存入的十本书的信息)package 作业133;import java.io.*;public class 作业763 public static void main(String args) throws Exception T t1=new T();t1.author=巴尔扎克;t1.bookcode=book11;t1.booknam
24、e=高老头;T t2=new T();t2.author=巴尔扎克;t2.bookcode=book12;t2.bookname=欧也妮葛朗台;T t3=new T();t3.author=大仲马;t3.bookcode=book13;t3.bookname=基督山恩仇记;T t4=new T();t4.author=司汤达;t4.bookcode=book14;t4.bookname=红与黑;FileOutputStream out;out=new FileOutputStream(F:java流练习bookList1.txt); ObjectOutputStream oos=new Obj
25、ectOutputStream(out); oos.writeObject(t1); oos.writeObject(t2); oos.writeObject(t3); oos.writeObject(t4); oos.flush(); oos.close();/ ObjectInputStream ois=new ObjectInputStream(new FileInputStream(F:java流练习bookList1.txt);/ T t5=(T)ois.readObject();/ T t6=(T)ois.readObject();/ T t7=(T)ois.readObject(
26、);/ T t8=(T)ois.readObject();/ System.out.println(t5.author+t5.bookcode+t5.bookname);/ System.out.println(t6.author+t6.bookcode+t6.bookname);/ System.out.println(t7.author+t7.bookcode+t7.bookname);/ System.out.println(t8.author+t8.bookcode+t8.bookname);class T implements SerializableString bookname;
27、String author;String bookcode;思考题1、 使用StringBuffer类与String类进行字符串连接时有何区别? String类进行字符串连接时会创建一个新的字符串对象,再将字符串常量指向这个新的字符串。StringBuffer类进行字符串连接时会在原来的字符串后面加上新的字符串。2、 swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?能作用在byte上,在jdk7.0之前,是不可以作用在long和String上。在jdk7.0之后,可以作用在long和String上。3、 abstractclass和interface有什
28、么区别?见第24题4、 什么是Overload和Override,它们有什么区别?方法的重写:Override 方法的重载:Overload见第20题5、 error和exception有什么区别?Error类描述内部错误,它由系统保留,程序不能抛出这种类型的对象,Error类的对象不可捕获、不可恢复,出错时所能做的事情就是系统通知用户并终止程序。而Exception类则可供程序使用,即可捕获,可恢复。6、 (1.1)Java语言是由哪个公司推出的?简述Java语言的特点。Sun Microsystem 公司简单性 面向对象 分布性健壮性 安全性 体系结构中立可移植性 解释型语言 高效性多线程
29、机制 动态性 7、 (1.2)什么是Java虚拟机?它包指哪几部分?Java 虚拟机(Java Virtual Machine 简称JVM)是运行所有Java程序的抽象计算机,是 Java语言的运行环境。Java 虚拟机由五个部分组成:一组 指令集、一组 寄存器、一个 栈、一个无用单元收集堆(Garbage-collected-heap)、一个方法区域。8、 (l.3)简述JVM的工作机制。(未验证)第一步先加载class文件,整个过程分为装载,连接,初始化三部分。第二部分是分配内存区域,涉及到的区域有pc寄存器,JVM栈,堆,方法区域,运行时常量池,本地方法堆栈。第三部分是执行JVM垃圾回收
30、。GC中用于回收的方法称为收集器,由于GC需要消耗一些资源和时间,Java在对对象的生命周期特征进行分析后,按照新生代、旧生代的方式来对对象进行收集,以尽可能的缩短GC对应用造成的暂停。9、 (2.3)请叙述标识符的定义规则。Java语言规定标识符由字母、数字、下划线、美元符号组成,且第一个字符不能是数字。10、 (2.4)Java中共有哪些基本数据类型,它们分别用什么符号来表示,各自的取值范围是多大?试着对每种数据类型定义一个变量,并给它赋一个值。Java中共有四类八种基本数据类型。 属于整型的是字节型(byte),基本型(int),短整型(short),长整型(long) 属于实型的是单精
31、度(float),双精度(double)。 字符型用char来表示 布尔型用boolean来表示boolean是只可以取两个值,一个是true,一个是false。 boolean a=true;char从unicode字符集中取值。 char b=3;byte可以取-128到127之间的任意整数 byte c=126;short可以取-32768到32767之间的任意整数 short d=4527;int可以取-231到231-1之间的任意整数int e=163;long可以取值-263到263-1之间的任意整数long f=965302l;float和double根据IEEE754-1985
32、标准,Float取值1.2E(-38)到3.4E381(未验证)Double取值2.2E(-308)到1.8E3082(未验证)float g=88.362f;double h=23.4e3;11、 (2.5)什么是类?什么是面向对象的程序设计方法?类是对某种具有共同特征的一类对象的定义,即类定义了一类对象的类型,属于该类型的所有对象都具有相同的变量和方法。面向对象程序设计(OOP)是一种程序设计范型,同时也是一种程序开发的方法。面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想。面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象,因此它们都
33、可以被看作一个小型的“机器”,即对象。12、 (5.1)详细说明类是如何定义的,解释类的特性及它的几个要素。声明一个类需要四个部分,第一是用类修饰符来修饰类名。第二是说明一个类的父类。第三是说明一个类所实现的接口。第四是类体类的三大特性是:类的继承、类的封装、类的多态类的构成要素有成员方法和成员变量和类声明。(未验证)13、 (5.3)什么是抽象类?它如何定义?抽象类是没有具体对象的概念类,这样的类要在class关键字前用修饰符abstract加以修饰。14、 (6.1)什么是异常?解释抛出捕获的含义。异常指的是程序执行时出现的意外情况,是不可以预测的。(未验证)Java应用程序在运行时如果出
34、现了一个可识别的错误,就会产生一个与该错误相对应的异常类的对象。这个对象包含了异常的类型和错误出现时所处的状态信息,该异常对象首先被交给java虚拟机,由虚拟机来寻找具体的异常处理者。在java中把产生异常对象并将其交给java虚拟机的过程称为抛出对象。当一个异常被抛出时会有一个专门的语句来识别这个被抛出的对象,这个过程被称为异常的捕获。15、 (6.2)java是如何处理异常的?Java采用的trycatch语句来捕获和处理异常对象。一旦一个异常对象被抛出之后,用户程序就会发生程序的跳转至与这个异常对象匹配的异常处理语句块,来对异常进行处理。16、 (6.3)在什么情况下执行try语句中fi
35、nally后面的代码段?在什么情况下不执行?试举例说明。有三种执行情况,课本264页最后及265页开始Finally语句是一种强制的,无条件执行的语句,无论程序是否出现异常,也不管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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB14-T 3319-2025 中药材产地趁鲜切制技术规程 赤芍
- 中医的体质与养生小清新
- 机动车抵押债权转让与支付协议范本
- 国际劳务输出企业派遣海外销售代表合同
- 墓地迁移项目招投标合作协议
- 茶园茶叶种植与茶叶茶具销售承包管理合同
- 房屋租赁市场分析合同范本
- 2025年房产评估师职业资格考试试题及答案
- 2025年法律职业资格考试题库及答案
- 2024年合金管资金筹措计划书代可行性研究报告
- 物理八年级下册《第3节 摩擦力》课件
- (高清版)DZT 0073-2016 电阻率剖面法技术规程
- 管材、管件供货方案
- 全国伤害监测培训课件
- 中医养生祛湿
- 金属废料加工的废料分类与分拣技术
- 贷款贷款信用证授信协议书
- 人工智能伦理导论- 课件 3-人工智能伦理
- 幼儿园公开课:大班语言《相反国》课件(优化版)
- 护坡混凝土施工方案
- 订购单模板(订货单模板)
评论
0/150
提交评论