《Java语言程序设计一》课后习题答案全集.pdf
《《Java语言程序设计一》课后习题答案全集.pdf》由会员分享,可在线阅读,更多相关《《Java语言程序设计一》课后习题答案全集.pdf(132页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1、1指出JAVA语言的主要特点与JAVA程序的执行过程。答:(1)强类型;(2)编译与解释;(3)自动无用内存回收功能;(4)面向对象;(5)与平台无关;(6)安全性;(7)分布式计算;(8)多线程;程序执行过程如图所示:编写源文件,编译器编译源文件转换成字节码,解释器执行字节码。1、2说出开发与运行JAVA程序的重要步骤。答:(1)编写源文件:使用一个文本编译器,如E d it 或记事本,不可以使用Wo r d、将编好的源文件保存起来,源文件的扩展名必须就是、ja v a;(2)编译J a v a 源文件:使用J a v a 编译器(ja v a c、e x e)编译源文件得到字节码文件;
2、(3)运行J a v a 程序:J a v a 程序分为两类一一J a v a 应用程序必须通过J a v a 解释器(ja v a、e x e)来解释执行其字节码文件;J a v a 小应用程序必须通过支持J a v a 标准的浏览器来解释执行。1、3如何区分应用程序与小应用程序?答:应用程序在与源文件名字相同的类中,有 ma in。方法,该方法代表应用程序的入口;小应用程序必须有一个A p p le t 类的子类,该类称作主类,必须用p u b lic 修饰。1、4说出JAVA源文件的命名规则。答:源文件命名规则与类命名规则一样,所有的单词首字母都用大写字母,且必须与源文件的p u b l
3、ic 类同名。1、6 JAVA语言使用什么字符集?共有多少个不同的字符?答:J a v a 语言使用U n ic o d e 字符集,共有6 5 5 3 5 个字符。1、7 JAVA语言标识符的命名规则就是什么?(D 由字母(包括英文字母、下划线字符、美元字符、文字字符)与数字字符组成(2)限定标识符的第一个字符不能就是数字字符(3)不能与关键字重名(4)长度不能超过2 5 5 个字符1、8 JAVA有那些基本数据类型,它们的常量又就是如何书写的?数据类型关键字字节数默认值常量举例范围逻辑类型布尔型boolean1f a ls ef a ls e,t r u ef a ls e,t r u e
4、字符型char20a,我低0 65535整数类型字节性byte1012,13,45-128 127短整型short2012,13,45-32768 32767整型int8012,13,45-2E31 2E31-1长整型long8OL12L,13L,45L-2E63 2E63-1浮点类型单精度浮点float4OF12、345F,6、789IF-10E38-10E-3810E-38 10E38双精度浮点double80D12、345D,6、789ID-1OE3O8-10E-3081OE-3O8 10E3081、9指出下列内容哪些就是J A VA 语言的整型常量,哪些就是浮点数类型常量,哪些两者都不
5、就是。整型常量:4)OxABCL,8)003,10)077,12)056L浮点数类型常量:3)TE-31,5)、32E31 13)0、,14)、0两者都不就是:1),2),6),7),9),11)第二章运算与语句2、1 J a v a 的字符能参加算术运算不?可以。(1)字符与整型数据运算,结果为整型数据,只能赋给整型变量,如果附给字符型变量会损失精度,需要强制类型装换;(2)字符与字符运算,结果为字符型数据,可以直接赋给字符型或整型变量。2、2占字节多的变量能直接赋值给占字节少的变量么?答:不能直接赋值,需要强制类型转换。2、3试用J a v a 语言表达式描述以下数学计算式或逻辑条件:1产
6、=(4/3)-3解:V=(4、0/3)*Ma t h、P I*Ma t h、p o w(r,3);2)R=I/(I/V+I/?2)解:R =1、0 /(1、O/R l+1、0/R 2);3)y =J+丁 +6解:y =Ma t h、p o w(x,5)+Ma t h、p o w(x,3)+6;解:F =1、0 *Ml*M2 /(R *R);5)s in(x)/a x+1 c o s(-x/2)|解:M a t h、s i n (x)/a *x +M a t h、a b s (M a t h、c o s (n *x /2);6)0 a 0&a 107)条 件 x=l 与 y=2 有且只有一个成立
7、、解:(x =1&y !=2)I I (x !=1&y =2)2、4 设在求以下表达式之前,整型变量a的值就是4,试指出在求了以下表达式之后,变量a、b与 c的值。)Z?=a *a +;解:a=5;b=16;2)c =+a +a;.解:a=5;c=102、6若一个数恰好等于它的因子之与,则这个数称为“完全数”。编写程序求1000之内的所有完全数。分析:若一个自然数,它所有的真因子(即除了自身以外的约数)的与恰好等于它本身,这种数叫做完全数。例如6=1+2+3:28=1+2+4+7+14程序运行结果:Problems Javadoc 1Declaration 里 Console 区termina
8、ted ChapterOl Java Application C:Program Fil6的因子有:1+2+328 的因子有:1+2+4+7+144 96 的因子有:1+2+4+8+16+31+62+124+2481000以内,完全数有:6.28,496*author段智敏*/public class Work2_6 public static void main(String args)String resultstring=1000以内,完全数有:”;最后结果字符串for(int i=1;i printin(resultstring);)private static boolean isP
9、erfectNumber(int number)int sum=0;/因子的与String str=new String(,n);for(int i=1;i out、printin(number+”的因子有:+str);return true;)return false;2、7编 写 输 入 正 实 数x,求 平 方 不 超 过x的 最 大 整 数n,并 输 出。程序运行结果:请输入正实数X:51dad 7叫笑数_入非法字符,程序结束!I I平方不超过皿的最大整数,n=10;请输入正实数X:-4515输人的数不是正实数,程序结束!第一种命令行方式输入import java util、Scann
10、er;*编写输入正实数x,求平方不超过x 的最大整数n,并输出。*命令行方式,输入正实数,输出结果*author段智敏*/public class Work2_7_l(public static void main(String args)(Scanner consolescanner=new Scanner(System in);System、out print(”请输入正实数 X:);String str=consoleScanner next();int number=-1;try(number=Integer parselnt(str);)catch(NumberFormatExcep
11、tion e)(System、out、printin(输入非法字符,程序结束!”);return;)if(number out、printin(平方不超过”+number+”的最大整数,n=+n+“;”);)第二种窗口方式输入运行结果如下图:/*编写输入正实数x,求平方不超过x 的最大整数n,并输出。*弹出窗口方式*author段智敏/import javaxs swing、JOptionPane;public class Work2_7_2(private int number;public Work2_7_2()number=th is get工ntegerNumber(请输入一个正实数”
12、,1);i f (number showInputDialog(nullr”请输入一个正整数“,”提示信息“,JOptionPane INFORMATION_MESSAGE);i n t number=-1;tr y(number=Integer parselnt(str);/得 至U输入的正整数)c a t c h(Exception e)(JOptionPane showMessageDialog(null f”输入非数字字符n 程序结束“错误警告”,JOptionPane、ERROR_MESSAGE);r e tu r n -1;/输入的不就是数字字符,程序结束)i f (number
13、ERROR_MESSAGE);r e tu r n -1;/输入的数不就是大于2的 正 却 时 候,程序盆源)e l s er e tu r n number;/*弹出对话框,显示结果*param s t r -需要显示的字符串*/p u b lic v o id showResult(String str)JOptionPaneN showMessageDialog(null f s t r,输出结果,JOptionPane、INFORMATION_MESSAGE);)p u b lic s t a t i c v o id main(String args)new Work2 7 2();
14、)2、8输入正整数n,输出由n行n列星号字符组成的三角形图案。程序运行结果:请输入正整数n:二*源代码文件:Wo r k 2 8、j a vaimport j a va、ut i l *;/*输入正整数n,输出由n行 n列星号字符组成的三角形图案。*author段智敏*/public class Wo r k 2_ 8(public static void m a i n(S t r i n g a r g s )S c a n n e r c o n s o l e s c a n n e r =new S c a n n e r(S y s t e m、in);S y s t e m o
15、ut、p r i n t (”请输入正整数 n:);S t r i n g s t r =c o n s o l e s c a n n e r n e x t();int n =-1;tryn =I n t e g e r s parselnt(s t r);)catch(N um b e r F o r m a t E x c e p t i o n e )(S y s t e m o ut、p r i n t i n (输入非法字符,程序结束!!);return;)if(n out、p r i n t i n (输入的数不就是正实数,程序结束!”);else(for(int i=0;i
16、p r i n t(n n);)for(int k=0;k p r i n t (n*n);)S y s t e m、o ut、p r i n t i n();)2、9设有整型变量x 与 y的值分别为5 与 110。试指出执行了以下循环语句后,变量x 与 y的值分别多少?l)w h i l e(x =y)x*=2;(terminatedChapterOl Java Application C:Program FilesJavajdkl.6.110。0之前的所有水仙花数葡 153370371 40源代码文件:Work2_10、java*求小于999的所有水仙花数*author段智敏*/publi
17、c class Work2_10(public static void main(String args)String resultstring=new String(”1000之前的所有水仙花数有:”);/用来存结果的字符串for(int i=100;i substring(0,resultstring、length()-1);)public static boolean isNarcissusNumber(int m)/判断就是否就是水仙花数的方法(int number=m;/寸 巴m存起来int a =new int 100;/用来存n每个位上的数int amount=0;/表示n的位:
18、数while(m 0)/通过循环得到m每个位上的数,存到数组中aamount=m%10;m=m/10;amount+;)int sum=0;for(int j =0;j =1);解:x=18;y=0;2、10求小于9 9 9 的所有水仙花数。程序运行结果:Problems Javadoc/Declaration Console 倒 口 Propertiessum+=Math pow(aj ,amount);)if(number=sum)/如果累加的与等于这个数本身,则她就是水仙花数,返回真return true;return false;2、11编程序解百鸡问题:鸡翁一,值钱五;鸡母一,值钱三
19、;鸡雏三,值钱一。百钱买百鸡。求鸡翁、鸡母与鸡雏各几何?程序运行结果:鸡翁:0;鸡母:2 5;鸡雏:75鸡翁:4;鸡母:18;鸡雏:78鸡翁:8;鸡母鸡雏:81鸡翁:12;鸡母:4;鸡雏:84源代码文件:Work2_ll、java/*鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。*百钱买百鸡。求鸡翁、鸡母与鸡雏各几何。*author段智敏*/public class Work2_ll(public static void main(String args)(for(int i=0;i=100;i+)(for(int j =0;j =100;j +)(for(int k=0;k out、pri
20、ntin(“鸡翁:+i+n;鸡母:+j +n;鸡雏:+k);)2、1 2 编 写 程 序,按 下 面 的 公 式 计 算 自 然 对 数 底 e的值:e=l+l/l!+l/2!+l/3!+l/4!+、/*按公式计算:e=l+l/l!+l/2!+l/3!+l/4!+、*author段智敏*/public class Work2_12public static void main(String args)int n=1000;/计算精度double e=1 0;for(int i=1;i 0/Work2_12 factorial(i);)System out、printin(ne=+e);/*计算
21、阶乘的静态方法*param-需要计算阶乘的数*re turn-最后结果*/static double factorial(int a)double f=1 0;for(int j =1;j 14)+”项,tt值为:”+Wcrk2_13、getPai(Work2_13 getlndex 14);System、out printin(n3 141 就是第”+Work2_13、get工ndex(3、141)+”项,t值为:”+Work2_13s getPai(Work2_13 getlndex(3 141);Sy s t em out、pr int in(3 1 4 1 5 就是第”+Wor k2
22、_1 3、getlndex(3 1 4 1 5)+”项,t值为:”+Wor k2 _1 3 s getPai(Wor k2 _1 3 getlndex(3 1 4 1 5);Sy s t em、ou t:、pr int in(3、1 4 1 5 9 就是第+Wor k2 _1 3 get Zndex(3 1 4 1 5 9)+”项,t值为:”+Wor k2 _1 3 getPai(Wor k2 _1 3 getlndex(3 1 4 1 5 9);*根据给出的数值,得到需要计算多少项才能得到这个数值*param量-数值*re turn-项数*/public static double get
23、I ndex(double p)int r =1,nu m=1 0 0 0 0 0 0;/控制I I,算的项数,越高,越准确dou ble i=1、01 pai=0、0,t =1 0;while(r =&pai 0,pai=0、0,t =1 0;while(r nu m)(pai=pai+(4、0 /i)*t;t =-t;i=i+2;r+;)return pai;2、1 4 回文整数就是指正读法与反读相同的整数,编写一个程序,输入一个整数,判断她就是否为回文整数。程序运行结果:import javaxs swing、JOptionPane;/*输入整数,判断就是否就是回文整数*author段智
24、敏/public class Work2_14(private int number;public Work2_14()(number=get工ntegerNumber(输入一个正整数n”,1);/要求就是=1的整数if(number 0)/把整数的各个位上的数存到数组里(ai=test%10;test=test/10;i+;/累计整数位数)for(int j =0;j show InputD ialog(n u llr message,”提示信息”,JOptionPane IN FORMAT I OH_MES SAGE);in t number=-1;try(number=Integer p
25、 a rse ln t(str);/得至lj输入的正整数c a tc h(Exception e)(JO ptionPane、showM essageDialog(n u llf”输入非数字字符n 程序结束“,”错误警告”,JOptionPane ERROR_MESSAGE);return-1;/输入的不就是数字字符,程序结束i f (number showM essageDialog(n u llr”输入的数不符合规则,不就是正整数 n程序结束”,”错误警告”,JOptionPane ERROR_MESSAGE);return-1;/输入的数不就是大于2的正整数时候,程序结束e ls ere
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java语言程序设计一 Java 语言程序设计 课后 习题 答案 全集
限制150内