自考教材《java语言程序设计(一)》第三章习题解答
2009年10月全国自考Java语言程序设计(一)参考答案
2009年10月全国自考Java语言程序设计(一)参考答案一、单项选择题 (本大题共10小题,每小题1分,共10分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1:参考答案:C2:参考答案:A3:参考答案:A4:参考答案:D5:参考答案:B6:参考答案:B7:参考答案:A8:参考答案:C9:参考答案:C10:参考答案:D二、填空题 (本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
错填、不填均无分。
1:参考答案:main()2:参考答案:import包名.类名;3:参考答案:相互发送消息4:参考答案:是否引用同一个对象5:参考答案:外观与风格6:参考答案:KeyListener7:参考答案:左上角8:参考答案:wait()9:参考答案:readLine()10:参考答案:IP地址和域名三、简答题 (本大题共6小题,每小题3分,共18分)1:参考答案:if(x>=0)y=x;elsey=-x;2:参考答案:4,5,6行错误3:参考答案:源对象、监视器对象、事件对象4:参考答案:Font fn=new Font("Courier",Font.BOLD,18);g.setFont(fn);5:参考答案:FileInputStream(String name)FileInputStream(File filename)FileOutputStream(String name)FileOutputStream(File filename)6:参考答案:流式socket和数据报式socket四、程序填空题 (本大题共5小题,每空2分,共20分)1:参考答案:i<a.lengtha[i]%2==02:参考答案:getActionCommand()append3:参考答案:radioNameList[i]isSelected()4:参考答案:getDocumentBase()this5:参考答案:getData()+deltanotify()五、程序分析题 (本大题共5小题,每小题4分,共20分)1:参考答案:fOb:Name:May FlowerBirth Year:1980Flower:true(2分)sOb:Name:PineBirth Year:2000Flower:falseConiferous:true(2分)2:参考答案:5671112(4分)3:参考答案:以文本框输入的数字为半径,(1分)以(10,10)为左上角,(1分)填充一个红色(1分)的圆。
JAVA第三章课后习题答案
第一题:public class disanzhangxiti1{public static void main (String args[]){char x='你',y='e',z='吃';if(x>'A'){y='爱';z='情';}elsey='我';z='她';System.out.println(" "+x+y+z);}}第二题:public class disanzhangxiti2{public static void main (String args[]){char c='\0';for(int i=1;i<=4;i++){switch(i){case 1: c='b';System.out.print(c);case 2: c='e';System.out.print(c);break;case 3: c='p';System.out.print(c);default: System.out.print("!");}}}}第三题:public class disanzhangxiti3{public static void main (String args[]){int sum=0,a=1;int i=1;while(i<=10){sum=sum+a;i=i+1;a=a*i;}System.out.println("sum="+sum);}}第四题:public class disanzhangxiti4{public static void main(String agrs[]){int i,j,count=0;for(j=2;j<=100;j++){for(i=2;i<=j/2;i++){if(j%i==0)break;}if(i>j/2){count++;System.out.println(""+j+"");}}System.out.println("count="+count);}}第五题:public class disanzhangxiti5{public static void main(String agrs[]){double sum=0,a=1,i=1;do{i++;sum=sum+a;a=a*(1.0/i);}while(i<=3);System.out.println("sum="+sum);}}public class disanzhangxiti5_for{public static void main(String agrs[]){double sum=0,a=1,i=1;for(i=1;i<=2;i++){sum=sum+a;a=a*(1.0/i);}System.out.println("sum="+sum);}}第六题:public class disanzhangxiti6{public static void main(String agrs[]){int a,i,sum;for(a=2;a<=1000;a++){for(sum=0,i=1;i<=a/2;i++)if(a%i==0)sum+=i;if(sum==a)System.out.println(a);}}}第七题:public class disanzhangxiti7{public static void main(String args[]){long sum=0,a=8,item=a,n=10,i=1;for(i=1;i<=n;i++){sum=sum+item;item=item*10+a;}System.out.println(sum);}}public class disanzhangxiti7_while{public static void main(String args[]){long sum=0,a=8,item=a,n=10,i=1;while(i<=10){i++;sum=sum+item;item=item*10+a;}System.out.println(sum);}}第八题:public class disanzhangxiti8{public static void main(String agrs[]){int sum=0,i,n=1;for(i=1;i<=n;i++){sum=sum+i;if(sum<8888)n++;if(sum>=8888)break;}System.out.println("sum="+sum);System.out.println("i="+i);}}。
Java语言程序设计(郑莉)一到八章课后习题答案
第二章习题答案1.什么是对象、类,它们之间的联系?答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。
对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。
现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。
2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!两者的关系:对象是类的具体实例.。
2.什么是面向对象的程序设计方法?它有那些基本特征?答:面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。
它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。
它的特征:抽象,封装,继承,多态。
3.在下面的应用中,找出可能用到的对象,对每一个对象,列出可能的状态和行为。
1)模拟航空预订系统交易的程序2)模拟银行交易的程序答:1)航空预订交易:状态:旅客姓名,身份证号,联系号码,出发地址,抵达地址,出发日期。
行为:订票,领票,买票,退票。
2)银行交易:状态:客户姓名,账号,身份证号。
行为:存款,取款,汇款。
4.请解释类属性、实例属性及其区别。
答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。
5.请解释类方法、实例属性及其区别。
答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。
类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。
区别:实例方法可以直接访问实例变量,调用实例方法,实例方法可以直接访问类变量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法;6.类的访问控制符有哪几种?具体含义及其区别。
答:类的访问控制符只有public(公共类)及无修饰符(默认类)两种。
区别:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类可以使用类。
Java语言程序设计课后习题解答-张思民-第三章
第3章面向对象程序设计基础【1】什么是Java程序使用的类?什么是类库?[解答]:Java程序的基本单位是类。
对象是对事物的抽象,而类是对对象的抽象和归纳,找出事物的共性,把具有共同性质的事物归结为一类,得出一个抽象的概念——类。
类是具有相同属性和方法的一组对象的集合,类是在对象之上的抽象,对象则是类的具体化,一旦建立类之后,就可用它来建立许多你需要的对象。
Java的类库是系统提供的已实现的标准类的集合,是Java编程的API(Application Program Interface),它可以帮助开发者方便、快捷地开发Java程序。
【2】如何定义方法?在面向对象程序设计中方法有什么作用?[解答]:方法的定义由两部分组成:方法声明和方法体。
方法声明的基本格式如下:返回类型方法名(形式参数){… //方法体内容}方法声明包括方法名、返回类型和形式参数,方法的小括号是方法的标志;方法体为实现方法行为的Java语句。
在面向对象程序设计中,方法所起的作用是完成对类和对象属性操作。
【3】简述构造方法的功能和特点。
下面的程序片段是某学生为student类编写的构造方法,请指出其中的错误。
void Student(int no,String name){studentNo=no;studentName=name;return no;}[解答]:构造方法是一个特殊的方法,主要用于初始化新创建的对象。
构造方法的方法名要求与类名相同,用户不能直接调用,只能通过new运算符调用,而且构造方法是不返回任何数据类型,甚至也不返回void数据类型,即不能在构造方法前加void。
以上的代码段出错于:①构造方法Student()前不能加void ②不能用return语句【4】定义一个表示学生的student类,包括的域有学号、姓名、性别、年龄,包括的方法有获得学号、姓名、性别、年龄及修改年龄。
编写Java程序创建student类的对象及测试其方法的功能。
2009年1月全国自考Java语言程序设计(一)参考答案
全国2009年1月Java语言程序设计(一) 参考答案课程代码:047471. A.0782. B.***3. B.u=v;4.C.true,false5. A.Swing是AWT的提高和扩展6. D.JDialog对象7. B.paintComponent()8.D.声明实现Runnable接口的类,在类内实现run()方法,在init()方法中创建新线程,在start()方法中启动新线程。
9. A.BufferedReader类和BufferedWriter类10.D.处理驱动程序的加载和建立数据库连接11. class12. y/x>5 && x!=013. final14. 115. getSource()16. ButtonGroup17. Font fnA=new Font(“细明体”,Font.PLAIN.12)18. notify()或notifyAll()19. InputStream OutputStream20.数据库连接21. (year%4= =0) && (year%4!=0)||(year%400= =0)22. Public修饰的方法为公用方法,任何类的方法都可以访问他Private修饰的方法,本类内部可以访问23. TextArea text=new TextArea();1JScrollPane jsp=new JScrollPane(text);myFrame.getContentPane().add(jsp);24. Graphics2D g2d=( Graphics2D) g;Line2D line=new Line2D.Double(10,20,30,40);G2d.draw(line)25. (P.175)26. URLConnection类完成流对象和实现网络连接27.方法int sigmaDigit(int n)的功能是求出十进制整数n的各位数字之和。
自考04747《Java语言程序设计(一)》编程题全集(50题及答案)
【程序1】ﻫ题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月得兔子总数为多少?ﻫ//这就是一个菲波拉契数列问题public class lianxi01{ﻫpublic staticvoid main(String[]args) {System、out、println("第1个月得兔子对数: 1”);System、out、println("第2个月得兔子对数: 1");intf1= 1,f2 =1,f,M=24;ﻫfor(int i=3;i〈=M; i++){ﻫf= f2;f2= f1+f2;ﻫf1 = f;System、out、println("第”+ i+”个月得兔子对数:"+f2);}ﻫ}ﻫ}【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。
ﻫ程序分析:判断素数得方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不就是素数,反之就是素数。
ﻫpublicclass lianxi02 {ﻫpublic staticvoidmain(String[]args){ﻫint count = 0;ﻫfor(int i=101; i〈200;i+=2){ booleanb=false;for(int j=2; j〈=Math、sqrt(i);j++)ﻫ{ﻫif(i % j == 0){ b = false;break;}ﻫelse { b =true;}ﻫ}ﻫif(b== true) {coun t++;System、out、println(i );}}ﻫSystem、out、println( "素数个数就是: " + count);}}【程序3】ﻫ题目:打印出所有得"水仙花数”,所谓”水仙花数"就是指一个三位数,其各位数字立方与等于该数本身.例如:153就是一个"水仙花数",因为153=1得三次方+5得三次方+3得三次方。
Java语言程序设计 课后习题+答案
第一章课后习题1.编译Java程序的命令是什么?2.执行Java程序的命令是什么?3.Java应用程序和小程序的区别是什么?4.编写一个application ,实现在屏幕上打印自己名字的功能。
第一章课后习题答案1.编译Java程序的命令是什么?答案:javac 源文件名2.执行Java程序的命令是什么?java 主类名3.Java应用程序和小程序的区别是什么?Java application⏹由Java解释器独立运行字节码⏹由专门的命令行启动程序执行⏹程序中有定义了main()方法的主类Java applet⏹不能独立运行,字节码必须嵌入HTML文档⏹当浏览器调用含applet的Web页面时执行⏹程序中含有java. applet. Applet 类的子类4.编写一个application ,实现在屏幕上打印自己名字的功能。
class Test{public static void main(String[] args){System.out.println(“张三”);}}第二章课后习题(1)一、选择题1.下列变量定义错误的是。
A) int a; B) double b=4.5; C) boolean b=true; D)float f=9.8;2.下列数据类型的精度由高到低的顺序是:a)float,double,int,longb)double,float,int,bytec)byte,long,double,floatd)double,int,float,long3.执行完下列代码后,int a=3;char b='5';char c=(char)(a+b);c的值是?A)’8’ b)53 c)8 d)564.Unicode是一种_____________A) 数据类型 B)java包 C)字符编码 D)java类5.6+5%3+2的值是___________A)2 B)1 C) 9 D)106.下面的逻辑表达式中合法的是__________A)(7+8)&&(9-5) B)(9*5)||(9*7) C)9>6&&8<10 D)(9%4)&&(8*3) 7.java语言中,占用32位存储空间的是__________。
自考Java语言程序设计(一)课后习题及答案
自考Java语言程序设计(一)课后习题及答案自考Java语言程序设计(一)第一章Java语言概述课后习题一、Java语言概述1.Java语言有哪些特点?2.什么叫做类?什么叫做对象?3.简述Java的运行机制。
4.简述Java应用程序的开发流程。
5.当初Sun公司发展Java的原因是:来源:(a)要发展航空仿真软件(b)要发展人工智能软件(c)要发展消费性电子产品6.Java是从哪种语言改进并重新设计?(a)Ade来源:(b)C++(c)Pascal7.Java因为什么快速发展而走红?(a)个人计算机与网络(b)游戏软件(c)系统软件8.Java程序的种类有:(a)内嵌于Web文件中,由浏览器来观看的__________(b)可独立运行的__________考试大论坛(c)服务器端的_________9.Java是面向对象语言,对象是客观事物的,对象与之是一一对应的,它是很具体的概念。
10. 判断:用Javac编译Java源文件后得到代码叫字节码。
()参考答案1.答:面向对象、简单、平台无关性、安全性、内存管理、分布式应用、多线程、动态、解释运行,高效能2.答:在面向对象编程中,具体的客观实体称为对象,对象就是数据加方法。
对象在程序中是通过一种抽象数据类型来描述的,这种抽象数据类型称为类。
类是对具有相同属性和方法的一组相似对象的抽象,或者说类是对象的模板。
来源:考试大3.答:Java程序的运行必须经过编写、编译、运行三个步骤。
编写是指在Java开发环境中进行程序代码的输入过程,最终形成后缀名为.java源文件。
编译是指使用Java编译器对源文件进行错误排查的过程,编译后将生成后缀名为.class的字节码文件。
运行是指使用Java解释器将字节码文件翻译成机器代码,在cpu上运行并显示结果的过程。
这一过程如图所示。
考试大-全国最大教育类网站(www.Examda。
com)4.Java应用程序的运行经过编写、编译、运行三个步骤。
04747Java语言程序设计教材程序设计题答案
04747Java语言程序设计(一)2017年版课后思考题与练习题程序设计题参考答案第三章流程控制语句5.1题_____________________________________________________________________________ public class Chapt3_5_1 {public static void main(String[] args) {int n[ ]={2,4,6,8,10};//分别计算2、4、6、8、10int stepmulti=1;for (int i=0;i<n.length;i++){stepmulti*=n[i];System.out.println("n["+i+"]!="+n[i]+"!="+stepmulti);}}}5.2题_____________________________________________________________________________ public class Chapt3_5_2 {public static void main(String[] args) {float n=30.0f;//可以手动修改n值float sum=0.000f;for (float i=1;i<=n;i++)sum=sum+(1/i);System.out.println("S=1+1/2+1/3+.....+1/n="+sum);}}5.3题_____________________________________________________________________________ public class Chapt3_5_3 {public static void main(String[] args) {float n=30.0f;//可以手动修改n值float sum=1.000f;for (float i=1; i<=n;i++)sum=sum+1/(3*i);System.out.println("S=1+1/3+1/6+...+1/3n="+sum);}}5.4题_____________________________________________________________________________public class Chapt3_5_4 {public static void main(String[] args) {int n=7;int i=0;while(i<n){if (i<n/2){for (int j=0; j<i;j++) System.out.print(" ");for (int k=0; k<n-2*i; k++) System.out.print(" * ");}else {for (int m=0; m<n-i-1;m++) System.out.print(" ");for (int k=0;k<n-(n-(i+1))*2;k++)System.out.print(" * ");}i++;System.out.println("");}}}5.5题_____________________________________________________________________________ public class Chapt3_5_5 {public static void main(String[] args) {int n=10;int i=0;while (i<10){for (int j=1;j<n-i;j++)System.out.print(" * ");i++;System.out.println();}}}5.6题_____________________________________________________________________________ public class Chapt3_5_6 {public static void main(String[] args) {for (int i=1;i<10;i++)System.out.print("\t "+i);for (int i=1;i<10;i++){System.out.print("\n"+i+"\t");for (int j=1;j<10;j++)System.out.print(j+"*"+i+"="+i*j+"\t");}}}5.7题_____________________________________________________________________________ import java.util.Scanner;public class Chapt3_5_7 {public static void main(String[] args) {String str;Scanner scan=new Scanner(System.in);System.out.println("请输入一串字符:");str=scan.nextLine();int k=0;goon: for(int i=0;i<str.length();i++){if (!(str.substring(i,i+1).equals(str.substring(str.length()-i-1,str.length()-i)))) {System.out.println("你输入的字符串("+str+")不是回文");k=1;break;}else continue goon;}if (k==0) System.out.println("你输入的字符串("+str+")是回文");scan.close();}}5.8题_____________________________________________________________________________ import java.util.Scanner;public class Chapt3_5_8 {public static void main(String[] args) {int n=0;Scanner scan=new Scanner(System.in);System.out.println("请输入一个整数:");int num=scan.nextInt();for (int i=2;i<num;i++){if (num%i==0){System.out.println(num+"非质数!");break;}else n=1;}if (n==1)System.out.println(num+"是个质数!");scan.close();}}5.9题_____________________________________________________________________________ import java.util.Scanner;public class Chapt3_5_9 {public static void main(String[] args) {Scanner t=new Scanner(System.in);System.out.println("请输入华氏温度:");double tin=t.nextDouble();System.out.println("转换后的摄氏温度为:"+(tin-32)/1.8);t.close();}}5.10题_____________________________________________________________________________ import java.util.Scanner;public class Chapt3_5_10 {public static void main(String[] args) {double s;Scanner leng=new Scanner(System.in);System.out.println("请输入三角形的第一条边长a:");double a=leng.nextDouble();System.out.println("请输入三角形的第二条边长b:");double b=leng.nextDouble();System.out.println("请输入三角形的第三条边长c:");double c=leng.nextDouble();if (a+b<=c||a+c<=b||b+c<=a||Math.abs(a-b)>=c||Math.abs(a-c)>=b||Math.abs(b-c)>=a) System.out.print("您输入的三条边无法构成三角形");//题目未要求判断,可以忽略else {s=(a+b+c)/2;System.out.println("这个三角形的面积S为"+Math.sqrt(s*(s-a)*(s-b)*(s-c)));}leng.close();}}5.11题_____________________________________________________________________________ import java.util.Calendar;//获取系统当年年份需要用到import java.util.Scanner;/***根据本书进度编写的程序,重复代码比较多,读者可在学习后续章节后再优化**/public class Chapt3_5_11 {public static void main(String[] args) {Scanner in=new Scanner(System.in);System.out.println("请输入数字1、2、3选择你要执行的操作,1、输入一个月份,打印当年该月的月历;2、输入当年的一个日期,查询当天是星期几;3、查询两个日期之间相差几天。
《Java语言程序设计(一)》课后习题与答案全集
1.1 指出JAVA语言的主要特点和JAVA程序的执行过程。
答:(1)强类型;(2)编译和解释;(3)自动无用内存回收功能;(4)面向对象;(5)与平台无关;(6)安全性;(7)分布式计算;(8)多线程;程序执行过程如图所示:编写源文件,编译器编译源文件转换成字节码,解释器执行字节码。
1.2 说出开发与运行JAVA程序的重要步骤。
答:(1)编写源文件:使用一个文本编译器,如Edit或记事本,不可以使用Word.将编好的源文件保存起来,源文件的扩展名必须是.java;(2)编译Java源文件:使用Java编译器(javac.exe)编译源文件得到字节码文件;(3)运行Java程序:Java程序分为两类——Java应用程序必须通过Java解释器(java.exe)来解释执行其字节码文件;Java小应用程序必须通过支持Java标准的浏览器来解释执行。
1.3 如何区分应用程序和小应用程序?答:应用程序在与源文件名字相同的类中,有main()方法,该方法代表应用程序的入口; 小应用程序必须有一个Applet类的子类,该类称作主类,必须用public修饰。
1.4 说出JAVA源文件的命名规则。
答:源文件命名规则和类命名规则一样,所有的单词首字母都用大写字母,且必须和源文件的public类同名。
1.6 JAVA语言使用什么字符集?共有多少个不同的字符?答:Java语言使用Unicode字符集,共有65535个字符。
1.7 JAVA语言标识符的命名规则是什么?(1)由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字字符组成(2)限定标识符的第一个字符不能是数字字符(3)不能和关键字重名(4)长度不能超过255个字符1.8 JAVA有那些基本数据类型,它们的常量又是如何书写的?1.9 指出下列内容哪些是JAVA语言的整型常量,哪些是浮点数类型常量,哪些两者都不是。
整型常量: 4)0xABCL,8)003,10)077,12)056L浮点数类型常量:3)-1E-31,5).32E31 13)0.,14).0两者都不是: 1),2),6),7),9),11)第二章运算和语句2.1 Java的字符能参加算术运算吗?可以。
解析JAVA程序设计第三章课后答案
第3章习题解答1.如何定义方法?在面向对象程序设计中方法有什么作用?答:方法的定义包括方法名、方法形参、方法的返回值类型和方法体四部分,方法只能在类中定义。
方法是对象的动态特征的描述,对象通过方法操作属性,进而改变对象的状态,完成程序所预期的功能。
2.定义一个Dog类,有名字、颜色、年龄等属性,定义构造方法用来初始化类的这些属性,定义方法输出Dog的信息。
编写应用程序使用Dog。
答:public class Dog{private String name;private String color;private String age;Dog(String n,String c,String a){name = n; color = c; age = a;}public String toString() {return name + "," + color + "," + age;}public static void main(String args[]) {Dog dog = new Dog("小白", "白色", "2岁");System.out.println(dog.toString());}}3.什么是访问控制修饰符?修饰符有哪些种类?它们各有何作用?答:访问控制修饰符是对类、属性和方法的访问权限的一种限制,不同的修饰符决定了不同的访问权限。
访问控制修饰符有3个:private、protected、public,另外还有一种默认访问权限。
各个修饰符的作用如下表所示:B:包中的类C:所有子类D:本类A:所有类:所有类4.阅读程序,写出程序的输出结果class A{private int privateVar;A(int _privateVar){privateVar=_privateVar;}boolean isEqualTo(A anotherA){if(this.privateVar == anotherA.privateVar)return true;elsereturn false;}}public class B{public static void main(String args[]){A a = new A(1);A b = new A(2);System.out.println(a.isEqualTo(b));}}程序的输出结果为:false5.阅读程序,写出程序的输出结果public class Test {public static void main(String[] args) {int x;int a[] = { 0, 0, 0, 0, 0, 0 };calculate(a, a[5]);System.out.println("the value of a[0] is " + a[0]);System.out.println("the value is a[5] is " + a[5]);}static int calculate(int x[], int y) {for (int i = 1; i < x.length; i++)if (y < x.length)x[i] = x[i - 1] + 1;return x[0];}}程序的输出结果为:the value of a[0] is 0the value is a[5] is 56.阅读程序,写出程序的输出结果public class Test {public static void main(String[] args) {String str1 = new String("Java");String str2 = new String("Java");System.out.println(str1 == str2);}}程序的输出结果为:false7.阅读下列程序,程序中已经指明错误位置,请说出错误原因。
Java语言程序设计(郑莉)第三章课后习题答案
Java语言程序设计(郑莉)第三章课后习题答案1.设N为自然数:n!=1*2*3*….*n称为n的阶乘,并且规定0!=1.试编程计算2!,4!,6!he 10!.并将结果输出到屏幕上。
答:public class Mul{public static void main(String args[]){int i,n;float s;for(n=0;n<=10;n=n+2){if(n==0)System.out.println("0!=1\n");else{s=1;for(i=1;i<=n;i++)s=s*i;System.out.println(n+"!="+s+"\n");}}}}2.编写程序,接收用户从键键盘上输入的三个整数x,y,z..从中选出最大和最小者,并编程实现。
答:public class Math{public static void main(String args[]){int[] IntArg = new int[args.length];for(int i=0;i<args.length;i++){IntArg[i] = Integer.parseInt(args[i]);}int max,min;max=IntArg[0]>IntArg[1]?IntArg[0]:IntArg[1];max=max>IntArg[2]?max:IntArg[2];min=IntArg[0]<IntArg[1]?IntArg[0]:IntArg[1];min=min<IntArg[2]?min:IntArg[2];System.out.println("max="+max);System.out.println("min="+min);}}3.求出100一枚的宿舍,并将这些数在屏幕上5个乙杭地显示出来。
Java语言程序设计(一)自考题-3_真题(含答案与解析)-交互
Java语言程序设计(一)自考题-3(总分100, 做题时间90分钟)一、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的。
)1.下列有关Java关键字说法中不正确的是( )A.Java关键字均由小写字母组成B.每个关键字在程序中出现时,均有特定位置和特定使用方法的要求C.在Java语言中,每个关键字均已经被赋予特定的意义D.可以使用关键字作为类名SSS_SIMPLE_SINA B C D分值: 1答案:D[解析] 主要考查的知识点为Java关键字。
[要点透析] 不能使用关键字作为标识符命名程序对象。
2.以下程序代码的输出结果是( )int x=10,y=20,z=30;z*=x+y;System. out. println(z);A.320 B.30C.90 D.900SSS_SIMPLE_SINA B C D分值: 1答案:D[解析] 主要考查的知识点为Java运算符优先级。
[要点透析] “+”号优先级高于“*=”号z*=x+y等价于z=z*(x+y)。
3.在Java中,能实现多重继承效果的方式是( )A.内部类B.适配器C.接口D.同步SSS_SIMPLE_SINA B C D分值: 1答案:C[解析] 主要考查的知识点为继承和接口。
[要点透析] Java程序中的类只能继承一个类,这种继承称为单继承。
Java语言虽不允许一个类继承多个类,但允许一个类实现多个接口。
这样,对有继承并实现接口的类来说,实际上有了多个超类,实现有控制的多重继承。
接口比多重继承更强、更容易控制。
接口有与类相似的基本形式。
接口有常量定义和方法定义,但没有方法的实现代码,即没有方法的方法体。
4.以下程序代码的输出结果为( )String s1="abc",s2="ab",s3;s3=s2. concat("c");System. out. println(s1==s3);A.true B.falseC.0 D.1SSS_SIMPLE_SINA B C D分值: 1答案:B[解析] 主要考查的知识点是字符串比较。
自考04747《Java语言程序设计(一)》课后习题答案全集
第一章 Java语言基础 (5)1.1 指出JA V A语言的主要特点和JA V A程序的执行过程。
(5)1.2 说出开发与运行JA V A程序的重要步骤。
(5)1.3 如何区分应用程序和小应用程序? (5)1.4 说出JA V A源文件的命名规则。
(5)1.6 JA V A语言使用什么字符集?共有多少个不同的字符? (5)1.7 JA V A语言标识符的命名规则是什么? (6)1.8 JA V A有那些基本数据类型,它们的常量又是如何书写的? (6)1.9 指出下列内容哪些是JA V A语言的整型常量,哪些是浮点数类型常量,哪些两者都不是。
(6)第二章运算和语句 (7)2.1 Java的字符能参加算术运算吗? (7)2.2 占字节多的变量能直接赋值给占字节少的变量么? (7)2.3 试用Java语言表达式描述以下数学计算式或逻辑条件: (7)2.4 设在求以下表达式之前,整型变量a的值是4,试指出在求了以下表达式之后,变量a、b和c的值。
(7)2.6 若一个数恰好等于它的因子之和,则这个数称为“完全数”。
编写程序求1000之内的所有完全数。
(7)2.7 编写输入正实数x,求平方不超过x的最大整数n,并输出。
(8)2.8 输入正整数n,输出由n行n列星号字符组成的三角形图案。
(11)2.9 设有整型变量x和y的值分别为5和110。
试指出执行了以下循环语句后,变量x和y的值分别多少? (12)2.10求小于999的所有水仙花数。
(12)2.11 编程序解百鸡问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。
百钱买百鸡。
求鸡翁、鸡母和鸡雏各几何? (13)2.12 编写程序,按下面的公式计算自然对数底e的值:e=1+1/1!+1/2!+1/3!+1/4!+...... (13)2.13 编写程序,用如下公式计算圆周率PI的近似值:PI=4-4/3+4/5-4/7+4/9-4/11... (14)2.14 回文整数是指正读法和反读相同的整数,编写一个程序,输入一个整数,判断他是否为回文整数。
2019年4月自考《04747 Java语言程序设计(一)》试题答案
绝密★启用前2019年4月高等教育自学考试全国统一命题考试Java语言程序设计(一)试题答案及评分参考(课程代码04747)一、单项选择题:本大题共10小题,每小题1分,共10分。
1.A 2.B 3.D 4.B 5.C6.D 7.B 8.C 9.D 10.A二、填空题:本大题共10小题,每空2分,共20分。
11.javac(不区分大小写)12.int13.import 14.自动装箱15.toLowerCase 16.has a17.readLine 18.处理键盘事件19.javax.swing 20.对象互斥锁三、简答题:本大题共5小题,每小题4分,共20分。
21.进行二元逻辑运算时,先计算运算符左侧表达式的值(2分),如果使用该值能得到整个表达式的值,则跳过运算符右侧表达式的计算(1分),否则计算运算符右侧表达式,并得到整个表达式的值(1分)。
22.if(x-5 < 0) (2分)y = 5-x;(1分)else y = x-5; (1分)23.4(1分)、5(1分)、6(1分)、7(1分)。
24.BufferedReader in = new BufferedReader(new FileReader("abc.txt")); (4分)25.Font fn = new Font("Courier", Font.BOLD, 20); (4分)四、程序填空题:本大题共3小题,每空2分,共18分。
26.① n = temp② m % n③ n27.① ListSelectionListener② ListSelectionEvent③ getSelectedValue()Java语言程序设计(一)试题答案及评分标准第1页(共2页)。
Java程序设计(2021春)——第三章类的重用课后题(选择题+编程题)答案与详解
Java程序设计(2021春)——第三章类的重⽤课后题(选择题+编程题)答案与详解Java程序设计(2021春)——第三章类的重⽤课后题(选择题+编程题)答案与详解⽬录第三章选择题Tip:选择题部分我只针对部分我出错的或我认为有价值的题⽬在此整理。
3.0 导学⽆3.1.1-3.1.2 类继承的概念和语法⽆3.1.3 隐藏和覆盖⽆3.2 Object类⽆3.3 终结类与终结⽅法T2题⾯如果需要抛出异常,可能会使⽤下⾯哪些关键字A finalB finallyC finalizeD catch答案B D详解选项中和异常相关的只有finally和catch。
(其实这应该是没讲过,笔者⽬前还没接触过相关内容,先mark⼀下)T3题⾯下⾯程序的运⾏结果是(忽略换⾏)class C{final public int methos(){System.out.println("a");return 0;}}public class A extends C{final public int method (int x){System.out.println(x);return 0;}public static void main(String[] args){c.method();}}A 2 2B 2 aC 运⾏错误,因为C的final⽅法不能被重写D 运⾏错误,因为A重写method时参数表不⼀样答案B详解由于参数表不⼀样,因此并⾮重写⽅法,⽽是定义新⽅法。
运⾏结果应该为2 a。
T4题⾯不能⽤来修饰interface的有A privateB publicC finalD static答案A C D详解可以修饰interface的只有public。
可以修饰class的有public final abstract。
T6题⾯final类和⽅法的存在处于以下哪些⽅⾯的考虑A 安全⽅⾯B 设计⽅⾯C 代码结构简单D 能够提⾼运⾏效率答案A B D详解详见郑莉⽼师《Java语⾔程序设计(第2版)》118-119页。
学历类《自考》自考专业(计算机网络)《Java语言程序设计一》考试试题及答案解析
学历类《自考》自考专业(计算机网络)《Java 语言程序设计一》考试试题及答案解析姓名:_____________ 年级:____________ 学号:______________1、在以下供选择的容器类中,属于顶层容器的是( )。
A 、JDialogB 、JPanelC 、JScrollPaneD 、JToolBar正确答案:A答案解析:暂无解析2、设Thread 对象thd 的优先级为7,thd 又创建了另一个Thread 对象chd ,如果未对chd的优先级进行修改,则chd 的优先级为( )。
A 、1B 、5C 、7D 、10正确答案:C答案解析:暂无解析3、在以下供选择的操作中,File 对象能够提供的操作是( )。
A 、删除文件B 、读写文件C 、打开文件D 、查询文件属性正确答案:D答案解析:暂无解析4、在编写访问数据库的Java 程序时,Statement 对象的作用是( )。
A 、建立新数据库连接B 、设置查询命令C 、创建SQL 语句对象D 、存储查询结果正确答案:C答案解析:暂无解析5、在编写访问数据库的Java程序时,ResultSet对象的作用是( )。
A、用来表示与数据库的连接B、存储查询结果C、在指定的连接中处理SQL语句D、建立新数据库连接正确答案:B答案解析:暂无解析6、某Java程序用javax.swing包中的类JFileChooser来实现打开和保存文件对话框。
该程序通过文件对话框首先获得的信息是( )。
A、文件长度B、文件路径C、文件内容D、文件对象正确答案:D答案解析:暂无解析7、以下能作为表示线程优先级的数值,并且级别最低的是( )。
A、0B、1C、15D、16正确答案:B答案解析:暂无解析8、以下术语中,属于文字字型风格属性的是( )。
A、颜色B、宋体C、斜体D、字号正确答案:C答案解析:暂无解析9、MouseMotionListener接口能处理的鼠标事件是( )。
JAVA第三章习题答案 (2)
o=cno; ame=cname; this.credit=credit; this.period=period; } public void setCno(String cno){ o=cno; } public String getCno(){ return cno; } public void setCname(String cname){ ame=cname; } public String getCname(){ return cname; } public void setCredit(double credit){ this.credit=credit; } public double getCredit(){ return credit; } public void setPeriod(int period){ this.period=period; } public int getPeriod(){ return period; } public String toString(){ return cno+"\t"+cname+"\t"+credit+"\t"+period; } } 9.设计并实现一个 Box 类。要求:定义 3 个实例变量分别表示 Box 的长、宽和高,并定义 必要的方法。创建一个对象,求给定尺寸的立方体的表面积和体积。 //Box.java public class Box { private double length; private double width; private double height;
10.学生类的创建和使用。 (1)创建一个 Student 类,包括的私有数据成员有学号、姓名、性别、年龄等。 (2)声明一个构造方法,以初始化对象的所有数据成员。 (3)声明分别获得各数据成员(学号、姓名、性别、年龄等)的各个 public 方法。 (4)声明分别修改各数据成员(学号、姓名、性别、年龄等)的各个 public 方法。 (5 ) 声明一个 public 型的 toString( )方法, 把该类中的所有数据成员信息组合成一个字符串。 (6 ) 在类中声明统计班级总人数的私有数据成员 count, 以及获得班级总人数的 public 方法。 (7)将 Student 类放在子包 student 中。 (8 ) 在子包 student 外, 创建测试类 StudentTest。 在测试类中, 使用 Student 类创建多个对象, 测试 Student 类的每个 public 方法。 //Student.java package student; public class Student { private String sno; private String sname; private char ssex; private int sage; private static int count=0; public Student(String no,String name,char sex,int age){ sno=no; sname=name; ssex=sex; sage=age; count++; } public void setSno(String no){ sno=no; } public String getSno(){ return sno; } public void setSname(String name){ sname=name; } public String getSname(){ return sname; } public void setSsex(char sex){ ssex=sex; } public char getSsex(){ return ssex;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章习题解答3.1什么是面向对象技术?它有什么优点?通过面向对象的方式,将现实世界的物抽象成对象,现实世界中的关系抽象成类、继承,帮助人们实现对现实世界的抽象与数字建模。
程序设计者考虑的是对象的描述、对象间的关系、类的管理、什么时候和什么地方调用对象的哪一种方法。
面向对象技术的最大优点是有效支持重用,使得大的程序也变得相对容易维护。
3.2面积对象的程序设计和面向过程的程序设计有什么区别?面向过程语言编程模式是:程序=数据结构+算法编程时需要考虑和内容是的程序什么、怎么做、重点考虑每个实现的细节。
面向对象的语言的编程模式是:程序=对象+消息程序设计者考虑的是对象的描述、对象间的关系、类的管理、什么时候和什么地方调用对象的哪一种方法。
3.3在程序中类和对象有什么区别?类是同一种对象的描述,类概括了同类对象的共有性质:数据和方法。
类的每个对象都有自己的标识,但它们具有相同的一级属性和提供相同的方法。
在程序中,对象的名称用于捐弃引用对象,对象的成员变量用于存储对象的状态值,对象和方法用于描述对象的行为。
3.4 类变量和实例变量,以及类方法和实例方法的区别。
加载类之前创建对象之后调用方法访问权限成员变量实例变量不分配内存各个对象之间各自分配独立的内存空间对象名.实例变量名被实例方法,构造方法访问类变量直接分配内存各个对象之间共享这段已经分配完的内存对象名.类变量名;类名.类变量名被实例方法,类方法,构造方法访问成员方法实例方法不分配入口地址共享一个入口地址对象名.实例方法名实例变量、类变量,实例方法、类方法类方法直接分配入口地址共享这个入口地址对象名.类方法名;类名.类方法名类变量、类方法3.5 子类能继承超类的哪些成员变量和方法?同包继承不同包继承(import进来的)私有(private)不继承不继承友好(缺省默认)继承不继承受保护(protected)继承继承共有(public)继承继承3.6 子类在什么情况下能隐藏超类的成员变量和方法?解:在子类重载父类的成员变量、方法的情况下。
3.7 在子类中是否允许有一个方法和超类的方法名字相同,而类型不同?解:不允许!方法重写是指:子类中定义一个方法,并且这个方法的名字、返回类型、参数个数、和类型与从父类继承的方法完全相同。
(与方法重载不同)3.8试说出对象、类、继承和多态性的概念。
所有东西都是对象,现实世界中的对象都有状态、行为和名称。
类是同一种对象的描述,类概括了同类对象的共有性质:数据和方法。
类的每个对象都有自己的标识,但它们具有相同的一级属性和提供相同的方法。
继承就是在已有类的基础上扩充属性,或扩充或者改写其某些方法,生成新的类。
继承定义的类称为子类,被继承的类称为超类。
子类继承父类具有的属性和方法,还可增加某些特殊性,并可扩充和修改部分行为。
继承具有传递性。
多态性指同样的消息被不同类型的对象接收时导致完全不同的行为。
方法的重写、重载与动态联编构成多态性。
3.9为什么要定义抽象类?为什么抽象类没有具体的对象?如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
抽象类往往用来表征我们在对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。
正是因为抽象的概念在问题领域没有对应的具体概念,所以用以表征抽象概念的抽象类是不能够实例化的,即没有具体的对象的。
3.10试比较接口和抽象类的异同。
使用接口有哪些注意事项?相同点:两者定义的方法均是抽象方法,即没有实现的代码。
不同点:(1)方法的实现者不同。
抽象类的方法实现交给每一个子类去完成,而接口则是一些列没有实现代码的方法(即抽象方法)和常量的组合,方法的实现则要在实现这个接口的类中完成,但它不限定类如何实现这些方法。
(2)继承方式不同。
接口使得类不必受限于单一继承的关系,接口本身可以继承多个父接口,而实现接口的类也可以继承一个类和实现多个接口。
对有继承并实现接口的类来说,实际上实现了有控制的多继承,而抽象类的子类则不能实现多继承。
(3)实现某个接口的类必须实现该接口的所有方法,而抽象类的子类实现其超类的方法早则没有这种限制。
3.11指出Applet的程序结构及各方法的作用。
程序结构:public class Applet程序名 extends java.applet.Applet{public void init(){…}public void start(){…}public void stop(){…}public void destroy(){…}public void paint(Graphic g){…}…}方法:Java API 的 Applet 类为您提供设计 applet 程序外观并管理其动作时所需要的支持。
该类提供一种叫做 Panel(面板)的图形用户界面(GUI)组件以及大量方法。
其基本方法有:(P63-64)init()方法、start()、stop()、destroy()、paint()、repaint()、update()要创建一个 applet 程序,就需要扩展该 Applet 类(或创建子类)并实现您所需要的外观和动作。
3.12 以下程序有什么错误?public class Takecare{int a=90;static float b=10.98f;public static void main(String args[]){float c=a+b;System.out.println(“=”+c);}}解:类方法main()调用了类的实例变量,main方法是类方法,不能调用类的实例变量a,导致错误!3.13 声明一个复数类Complex。
要求该类提供:由已知实部和虚部构造复数的方法;复数与实数和复数与复数的四则运算方法;取复数对象的实部、虚部的方法;输出复数的方法。
并要求编写一个应用程序实现对复数类的完整测试。
class Complex{double a,b;Complex(){}Complex(double a, double b){this.a=a;this.b=b;}public String Print()//输出复数的字符串表示{String result= new String(this.a+ (b>0?"+":"") + (b!=0?this.b+ "i":""));//此处很有技巧://如果虚部b大于0,则输出格式为“a+bi”,如果虚部b小于0.则第一个条件表达式的值为空,输出格式为“abi”,而因b前有负号,故自动成为“a-bi”格式//如果虚部b为0,则第一个和第二个条件表达式值均为空,输出格式为“a”。
return result;}public Complex add(Complex val)//复数加法{Complex result = new Complex();result.a = this.a + val.a;result.b = this.b + val.b;return result;}public Complex subtract(Complex val)//复数减法{Complex result = new Complex();result.a = this.a - val.a;result.b = this.b - val.b;return result;}public Complex multiply(Complex val)//复数乘法{Complex result = new Complex();result.a = this.a * val.a-this.b*val.b;result.b = this.a * val.b+this.b*val.a;return result;}public Complex divide(Complex val)//复数除法{Complex result = new Complex();result.a = (this.a * val.a+this.b*val.b)/(val.a*val.a+val.b*val.b);result.b = (this.b * val.a-this.a*val.b)/(val.a*val.a+val.b*val.b);return result;}public double getReal()//取复数的实部{return this.a;}public double getimage()//取复数的虚部{return this.b;}}class TestComplex{public static void main(String[] args){Complex complex1 = new Complex(2.0,4.0);Complex complex2 = new Complex(3.0,-1.0);System.out.println("复数1:"+ complex1.Print()+" 其实部:"+complex1.getReal()+"虚部:"+complex1.getimage());System.out.println("复数2:"+ complex2.Print()+" 其实部:"+complex2.getReal()+"虚部:"+complex2.getimage());System.out.println("复数1与复数2之和为"+complex1.add(complex2).Print());System.out.println("复数1与复数2之差为"+complex1.subtract(complex2).Print());System.out.println("复数1与复数2之积为"+complex1.multiply(complex2).Print());System.out.println("复数1除以复数2之商为"+complex1.divide(complex2).Print());}}运行结果:3.14 声明一个有理数类RationalNum。
要求提供有理数的四则运算,以分数形式输出有理数和以浮点数形式输出有理数等方法。
class RationalNumber{int numerator;//分子int denominator;//分母public RationalNumber(){numerator = Integer.MIN_VALUE;//即-2147483648denominator = Integer.MIN_VALUE;}public RationalNumber(int a, int b) throws Exception//构造方法{if (b == 0){throw new Exception("发生分母为0的异常,分母不能为0");}else{this.numerator = a;this.denominator = b;}}public int getNumerator()//返回分子{return numerator;}public int getDenominator()//返回分母{return denominator;}public void setRational(int fenzi, int fenmu)//设置分子分母{this.numerator = fenzi;this.denominator = fenmu;}public RationalNumber add(RationalNumber r)//有理数加法{int a = this.numerator* r.getDenominator() + this.denominator* r.getNumerator();int b = this.denominator * r.getDenominator();RationalNumber result = new RationalNumber();result.setRational(a,b);result.yuefen();//约分return result;}public RationalNumber subtract(RationalNumber r)//有理数减法{int a = this.numerator* r.getDenominator() - this.denominator* r.getNumerator();int b = this.denominator * r.getDenominator();RationalNumber result = new RationalNumber();result.setRational(a, b);result.yuefen();//约分return result;}public RationalNumber multiply(RationalNumber r)//有理数乘法{int a = this.numerator * r.getNumerator();int b = this.denominator * r.getDenominator();RationalNumber result = new RationalNumber();result.setRational(a, b);result.yuefen();//约分return result;}public RationalNumber divide(RationalNumber r){r.setRational(r.getDenominator(), r.getNumerator());//分子分母颠倒RationalNumber result = this.multiply(r);//与颠倒后的有理数相乘result.yuefen();//约分return result;}public void yuefen()//约分,没有使用求最大公约数函数,此处还可使用,请读者自行编程{int a = Math.abs(this.numerator);// 分子int b = Math.abs(this.denominator);// 分母int small = a < b ? a : b;for (int i = 2; i <= small; i++){while ((a % i == 0) && (b % i == 0)){a = a / i;b = b / i;}}if (this.numerator < 0)this.numerator = -a;elsethis.numerator = a;if (this.denominator < 0)this.denominator = -b;elsethis.denominator = b;}public String toString()//返回该有理数的分数表示形式{if (this.numerator == 0)return"0";elsereturn this.numerator + "/" + this.denominator;}public double toDouble()// 返回该有理数的浮点数形式,注意技巧{double a = (1.0 * this.numerator) / (this.denominator * 1.0);return a;}}class TestRational{public static void main(String[] args){RationalNumber r1 = null;RationalNumber r2 = null;try{r1 = new RationalNumber(5, -105);//生成两个有理数对象r2 = new RationalNumber(8, 18);}catch (Exception e)//异常处理{System.out.println( e.toString() );}System.out.print("有理数1:" + r1.toString());r1.yuefen();System.out.println(",约分后 = " + r1.toString());System.out.print("有理数2:" + r2.toString());r2.yuefen();System.out.println(",约分后 = " + r2.toString());RationalNumber resultAdd = r1.add(r2);// 相加System.out.print(r1.toString() + " + " + r2.toString() + " = ");System.out.println(resultAdd.toString() + " = " + resultAdd.toDouble());RationalNumber resultSubtract = r1.subtract(r2);//相减System.out.print(r1.toString() + " - " + r2.toString() + " = ");System.out.println(resultSubtract.toString() + " = "+ resultSubtract.toDouble());RationalNumber resultMultiply = r1.multiply(r2);// 相乘System.out.print(r1.toString() + " × " + r2.toString() + " = ");System.out.println(resultMultiply.toString() + " = "+ resultMultiply.toDouble());RationalNumber resultDivide = r1.divide(r2);//相除System.out.print(r1.toString() + " ÷ " + r2.toString() + " = ");System.out.println(resultDivide.toString() + " = "+ resultDivide.toDouble());}}运行结果:上面的约分如果使用最大公约数法,则代码为:public int gcd(int a1, int b1)//求最大公约数{int c1;do {c1 = a1 % b1;a1 = b1;b1 = c1;}while (b1 > 0);return a1;}public void yuefen_gcd()//约分函数,注意与上面不使用最大公约数函数的方法比较{int a = Math.abs(this.numerator);// 分子int b = Math.abs(this.denominator);// 分母int gcdvalue;gcdvalue = this.gcd(a,b);//调用求最大公约数函数if (gcdvalue>1){a = a / gcdvalue;//约分b = b / gcdvalue;}if (this.numerator < 0)this.numerator = -a;elsethis.numerator = a;if (this.denominator < 0)this.denominator = -b;elsethis.denominator = b;}。