Java面向对象程序设计课后习题参考答案
由耿祥义和张跃平编著的Java面向对象程序设计课本习题部分参考答案
public class San_4 {// 编写一个应用程序求1!+2!+...+20! /** * @param args//本题考查对循环的运用和对算法的编写 */ public static void main(String[] args) { // TODO Auto-generated method stub int a; double b = 1, sum = 0;// 定义变量 for (a = 1; a <= 20; a++) {// for循环实现该功能 b = b * a;// 当a=1时,b=b*a=1,依此类推 sum = sum + b;// 当a=1时,sum=sum+b=1,依次类推 } for (int w = 1; w <= 19; w++) {// for循环打印出阶乘之和的形式来 System.out.print(w + "!" + "+"); } System.out.println("20!" + "=" + sum);// 最终输出阶乘之和 double sum1 = 0, a1 = 1; int i = 1; while (i <= 20)// 用while循环实现该功能 { sum1 = sum1 + a1; i++; a1 = a1 * i; } System.out.println("sum1=" + sum1); } }
输出结果:
1!+2!+3!+4!+5!+6!+7!+8!+9!+10!+11!+12!+13!+14!+15!+16!+17!+18!+19!+20!=2.5613274941118203E18 sum1=2.5613274941118203E18
习题3_5
public class San_5 {// 求100以内的素数 /** * @param args//本题考查对for循环、break语句、if语句的运用 */ public static void main(String[] args) { // TODO Auto-generated method stub int i, j; for (i = 2; i <= 100; i++) {// for循环从2开始,逐渐增1 for (j = 2; j <= i / 2; j++) {// for循环从2开始,逐步增1 if (i % j == 0) {// 如果i除以j的余数为0,则终止本次for循环 break; } } if (j > i / 2) {// 如果j>i/2,输出i System.out.print(" " + i); } } } }
由耿祥义和张跃平编著的Java面向对象程序设计课本习题部分参考答案
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
习题3_6
public class San_6 {// 分别用while和for循环计算1+1/2!+1/3!+1/4!...的前20项和 /** * @param args//本题考查同学们对while循环、for循环以及对输出字符串格式的运用 */ public static void main(String[] args) { // TODO Auto-generated method stub int i = 1, k; double j = 1, m = 1, sum1 = 0, sum2 = 0; while (i <= 20) {// 用while循环实现 sum1 = sum1 + j; i++; j = j * (1.0 / i); } System.out.print("1+"); for (int r = 2; r <= 19; r++) { System.out.print("1/" + r + "!" + "+"); } System.out.print("1/20!" + "=" + sum1); System.out.println(); System.out.print("1+"); for (int r = 2; r <= 19; r++) { System.out.print("1/" + r + "!" + "+"); } for (k = 1; k <= 20; k++) {// 用for循环实现 m *= (1.0 / k); sum2 += m; } System.out.println("1/20!" + "=" + sum2); } }
计算结果:
1+1/2!+1/3!+1/4!+1/5!+1/6!+1/7!+1/8!+1/9!+1/10!+1/11!+1/12!+1/13!+1/14!+1/15!+1/16!+1/17!+1/18!+1/19!+1/20!=1.7182818284590455 1+1/2!+1/3!+1/4!+1/5!+1/6!+1/7!+1/8!+1/9!+1/10!+1/11!+1/12!+1/13!+1/14!+1/15!+1/16!+1/17!+1/18!+1/19!+1/20!=1.7182818284590455
习题3_7
public class San_7 {// 一个数如果恰好等于它的因子之和,这个数就成为”完数“。 // 编写一个应用程序求1000以内的所有完数。 /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i, j,sum; for (i = 1; i <= 1000; i++) { for (j = 1, sum= 0; j < i; j++) {
由耿祥义和张跃平编著的Java面向对象程序设计课本习题部分参考答案
if (i % j == 0) {// 当i除以j的余数为0时,执行sum=sum+j sum = sum + j; } } if (sum == i) {// 如果sum==i,执行下列输出语句 System.out.println("完数:" + i); } } } }
计算结果:
完数:6 完数:28 完数:496
习题3_8
import java.util.Scanner;
public class San_8 {// 编写应用程序,计算两个非零正整数的 // 最大公约数和最小公倍数,要求两个正整数从键盘输入 /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int a, b, c, d = 0, e = 0; System.out.println("请从键盘输入两个正整数:"); Scanner nihao = new Scanner(System.in); System.out.print("你输入的第一个数为:"); a = nihao.nextInt(); System.out.print("你输入的第二个数为:"); b = nihao.nextInt(); if(a==0||b==0){//当输入的数有零存在时,输出错误提示信息 System.out.println("输入有错,请确认后重新输入!!"); } else { for (c = 1; c <= a; c++) { if ((a % c == 0) && (b % c == 0)) {//当a除以c,b除以c的余数皆为0时 d = c;//将c赋给d //将a与c,b与c的商之积与上面得到的最大公约数相乘 e = d * (a / c) * (b / c);//也可以改写为:e=a*b/c } } System.out.println("这两个数的最大公约数为:"+d); System.out.println("这两个数的最小公倍数为:"+e); } } }
计算结果:
请从键盘输入两个正整数: 你输入的第一个数为:45 你输入的第二个数为:60
由耿祥义和张跃平编著的Java面向对象程序设计课本习题部分参考答案
这两个数的最大公约数为:15 这两个数的最小公倍数为:180
习题3_9
public class San_9 {// 求满足1+2!+3!+...+n!≤9999的最大整数n /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int n = 1; long sum = 0, a = 1; while (true) { sum = sum + a; if (sum > 9999) {// 当sum>9999时,跳出while循环 break; } n++; a = n * a; } System.out.println("满足条件的最大整数是:" + (n - 1)); System.out.println("1至" + (n - 1) + "的阶乘和为:" + sum); } }
计算结果:
满足条件的最大整数是:7 1至7的阶乘和为:46233
习题9_6
public class A { public static void main(String[] args) { String s="aBcDeFgH"; String t="你好!"; String v="我是中国人"; String a=s.toUpperCase();//将小写字母转换为大写字母 String b=s.toLowerCase();//将大写字母转换为小写字母 System.out.println(a); System.out.println(b); System.out.println(t.concat(v));//将字符串v连接到字符串t之后 } }
输出结果:
ABCDEFGH abcdefgh
你好!我是中国人
…… 此处隐藏:4317字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [资格考试]石油钻采专业设备项目可行性研究报告编
- [资格考试]2012-2013学年度第二学期麻风病防治知
- [资格考试]道路勘测设计 绪论
- [资格考试]控烟戒烟知识培训资料
- [资格考试]建设工程安全生产管理(三类人员安全员
- [资格考试]photoshop制作茶叶包装盒步骤平面效果
- [资格考试]授课进度计划表封面(09-10下施工)
- [资格考试]麦肯锡卓越工作方法读后感
- [资格考试]2007年广西区农村信用社招聘考试试题
- [资格考试]软件实施工程师笔试题
- [资格考试]2014年初三数学复习专练第一章 数与式(
- [资格考试]中国糯玉米汁饮料市场发展概况及投资战
- [资格考试]塑钢门窗安装((专项方案)15)
- [资格考试]初中数学答题卡模板2
- [资格考试]2015-2020年中国效率手册行业市场调查
- [资格考试]华北电力大学学习实践活动领导小组办公
- [资格考试]溃疡性结肠炎研究的新进展
- [资格考试]人教版高中语文1—5册(必修)背诵篇目名
- [资格考试]ISO9001-2018质量管理体系最新版标准
- [资格考试]论文之希尔顿酒店集团进入中国的战略研
- 全国中小学生转学申请表
- 《奇迹暖暖》17-支2文学少女小满(9)公
- 2019-2020学年八年级地理下册 第六章
- 2005年高考试题——英语(天津卷)
- 无纺布耐磨测试方法及标准
- 建筑工程施工劳动力安排计划
- (目录)中国中央空调行业市场深度调研分
- 中国期货价格期限结构模型实证分析
- AutoCAD 2016基础教程第2章 AutoCAD基
- 2014-2015学年西城初三期末数学试题及
- 机械加工工艺基础(完整版)
- 归因理论在管理中的应用[1]0
- 突破瓶颈 实现医院可持续发展
- 2014年南京师范大学商学院决策学招生目
- 现浇箱梁支架预压报告
- Excel_2010函数图表入门与实战
- 人教版新课标初中数学 13.1 轴对称 (
- Visual Basic 6.0程序设计教程电子教案
- 2010北京助理工程师考试复习《建筑施工
- 国外5大医疗互联网模式分析




