发表于2024-12-25
精讲100个不同类型的Java趣味编程题的求解过程
培养编程兴趣,拓宽编程思维,提高编程能力,增强求职竞争力
专门录制了11.5小时高清视频辅助教学,高效而直观
精选的100个实例都从趣味编程的角度出发,并兼顾实用性;实例涵盖了Java程序设计的基础知识和常用算法
很多实例来自编程大赛和企业面试题,具有很强的实用价值;实例遵循先提出问题,再分析问题,最后实现的写作风格
每个实例都给出了详细的实现代码,并给出了大量的注释
《Java趣味编程100例》讲解了100个各种类型的Java编程趣味题的求解过程,旨在帮助读者培养编程兴趣,拓宽Java编程思维,提高Java编程能力,掌握用程序设计解决实际问题的方法与技巧。本书取材注重趣味性与实用性,内容涵盖了Java编程的基础知识和常用算法,讲解时给出了实例的详细代码及注释。本书附带1张光盘,收录了本书配套多媒体教学视频及实例源文件,可大大方便读者高效、直观地学习本书内容。
《Java趣味编程100例》共分11章。第1章介绍了8个常见的变幻多姿的图表;第2章介绍了12个身边的数学问题;第3章介绍了8个趣味整数;第4章介绍了9个趣味素数;第5章介绍了8个趣味方程;第6章介绍了8个趣味分数;第7章介绍了10个逻辑推理;第8章介绍了8个趣味变幻;第9章介绍了9个定理与猜想;第10章介绍了9个趣味游戏;第11章介绍了11个其他趣味问题。
《Java趣味编程100例》适合高校、职业技术院校及社会培训学校的学生阅读,也适合Java编程爱好者阅读,还可作为各级程序设计选拔赛和全国青少年信息学奥林匹克竞赛的参考书。
超值DVD光盘内容
11.5小时配套教学视频
本书涉及的源文件
377个Java开发范例源代码及22小时教学视频
24个Java开发模块源代码及6小时教学视频
5个Java项目案例源代码及4小时教学视频
衡友跃,毕业于安徽大学,获得了计算机软件与理论专业硕士学位。取得了信息产业部颁发的数据库系统工程师、嵌入式Linux软件系统培训师等证书。现就职于淮北职业技术学院,长期从事Java教学及软件开发。有多年的软件开发经验,主持及参与开发了多个软件项目。熟悉Java、MySQL、嵌入式Linux、Android等开发技术,对这些领域的开发有着浓厚的兴趣和深入的研究。主持省级优秀青年人才基金一项。主持与参与校级教科研项目多项,公开发表技术论文多篇,已出版《Java常用算法手册》一书。
第1章 变幻多姿的图表(教学视频:69分钟)
1.1 金字塔图案
1.2 九九乘法表
1.3 余弦曲线
1.4 奥运五环旗
1.5 杨辉三角
1.6 国际象棋棋盘
1.7 心形图
1.8 回型矩阵
1.9 小结
第2章 身边的数学问题(教学视频:59分钟)
2.1 黑色星期五
2.2 个人所得税
2.3 存钱问题
2.4 赛场统分
2.5 肇事车辆
2.6 分糖果
2.7 天平称物
2.8 平分七框梨
2.9 一维多项式计算
2.10 线性方程求解
2.11 非线性方程求解(牛顿迭代法)
2.12 非线性方程求解(二分法)
2.13 小结
第3章 趣味整数(教学视频:51分钟)
3.1 不重复的3位数
3.2 水仙花数
3.3 完全数
3.4 相亲数
3.5 黑洞数
3.6 勾股数
3.7 自守数
3.8 3位反序数
3.9 小结
第4章 趣味素数(教学视频:61分钟)
4.1 素数
4.2 孪生素数
4.3 金蝉素数
4.4 可逆素数
4.5 回文素数
4.6 平方回文素数
4.7 梅森尼数
4.8 哥德巴赫猜想
4.9 等差素数数列
4.10 小结
第5章 趣味方程(教学视频:59分钟)
5.1 百鸡百钱
5.2 楼梯台阶
5.3 换硬币
5.4 求s=a+aa+aaa+aa…a的值
5.5 鸡兔同笼
5.6 巧算年龄
5.7 五家共井
5.8 三色球问题
5.9 小结
第6章 趣味分数(教学视频:63分钟)
6.1 最大公约数
6.2 最小公倍数
6.3 分数比较
6.4 分数求和
6.5 埃及分数式
6.6 计算分数精确值
6.7 分数数列
6.8 猴子分桃
6.9 小结
第7章 逻辑推理(教学视频:63分钟)
7.1 斐波那契数列
7.2 汉诺塔问题
7.3 年龄问题
7.4 谁在说谎
7.5 幂数列
7.6 游客国籍
7.7 谁家孩子跑得最慢
7.8 猴子爬山
7.9 兔子产仔
7.10 舍罕王赏麦
7.11 小结
第8章 趣味变幻( 教学视频:62分钟)
8.1 分解质因数
8.2 乘式还原
8.3 除式还原
8.4 幻方
8.5 泊松分酒
8.6 猜牌术
8.7 邮票组合
8.8 整数拆分
8.9 小结
第9章 定理与猜想( 教学视频:64分钟)
9.1 四色定理
9.2 角谷猜想
9.3 Л的近似值(割圆术)
9.4 Л的近似值(蒙特卡罗)
9.5 回文数
9.6 卡布列克常数
9.7 剩余定理
9.8 尼科彻斯定理
9.9 马踏棋盘
9.10 小结
第10章 趣味游戏( 教学视频:67分钟)
10.1 掷骰子
10.2 发扑克牌
10.3 24点
10.4 常胜将军
10.5 抢30
10.6 10点半
10.7 人机猜数
10.8 过桥游戏
10.9 生命游戏
10.10 小结
第11章 其他趣味问题( 教学视频:71分钟)
11.1 字符串匹配
11.2 双色球
11.3 金额转换
11.4 超长整数加法
11.5 尾数前移
11.6 高斯八皇后
11.7 PK计分
11.8 罗马数字
11.9 找假币
11.10 窃贼问题
11.11 三色旗
11.12 小结
第1章变幻多姿的图表
图表简洁直观,在各种场合得到广泛应用,给人以很强的视觉冲击,经常让人难以忘怀。我们的程序中如果能够灵活地应用图表,一定能给我们的程序增色不少。本章将带你进入变换多姿的图表世界,体会图表编程带来的乐趣。
1.1金字塔图案
1.问题描述
打印出金字塔图案,如图1.1所示。
2.问题分析
这个问题是一个很经典的循环应用的题目。我们都知道,打印输出的时候,都是从最左端输出,而这里,第一个星号是在中间。这实际是因为星号之前有很多空格。当我们使用问号来表示空格,实际的输出效果应该是图1.2的形式。
图1.1金字塔图1.2金字塔的分析图
从图1.2分析,我们就可以发现这个题目的奥秘了。
(1)确定程序框架
从图1.2中,我们可以发现,一共需要打印5行,而每一行都是打印几个空格,然后再打印几个星号。这样我们就可以写出程序框架了。程序框架代码如下:
publicclassCh1_1
{
publicstaticvoidmain(String[]args)
{
**************
for(i=1;i<=5;i++)//循环5次,打印5行
{
//打印若干个空格
//打印若干个星号
}
}
}
由于我们这里明确知道打印的行数,所以我们使用for循环来实现。下面我们就需要考虑如何打印每行的星号。
(2)寻找空格和星号的规律
从图1.2中,我们可以发现:第1行的空格为4个,第2行是3个,第3行是2个,……,每行依次递减,直至最后一行空格数为0;而星号数目是第1行是1个,第2行是3,第3行是5,……,每行依次递增2,直至最后一行星号数为9。总结数据,我们可以得到表1.1所示的规律。
表1.1空格和星号的规律
行数
空格数
星号数
1
4
5–1
1
1*2–1
2
3
5–2
3
2*2–1
3
2
5–3
5
3*2–1
4
1
5–4
7
4*2–1
5
0
5–5
9
5*2–1
规律
依次递减1
5–行数
依次递增2
行数*2–1
从表1.1中,我们不难发现行数和空格数、星号数之间有一种很有趣的联系。根据这个联系,我们就可以考虑完善我们上面的程序了。
(3)打印空格数
由于每行空格数有着“5–行数”的规律。所以在第i行的时候,空格数就为5–i。所以我们只要把5–i个空格打印出来即可。对应代码如下:
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)//根据外层行号,输出星号左边空格
System.out.print("");
}
虽然每行的空格数不同,但是对于特定的行,其空格数是固定的,所以循环打印的次数是确定的。所以这里同样适用了for循环。
(4)打印星号数
由于每行星号数有着“行数*2–1”的规律。所以在第i行的时候,星号数就为2*i–1。所以我们只要把2*i–1个星号打印出来即可。对应代码如下:
for(i=1;i<=5;i++)
{
for(k=1;k<=2*i-1;k++)//根据外层行号,输出星号个数
System.out.printf("*");
}
(5)完整程序
现在我们就需要把刚才的程序进行组合,构成我们的完整程序。
importjava.util.Scanner;
publicclassCh1_1
{
publicstaticvoidmain(String[]args)
{
inti,j,k,n;
Scannerinput=newScanner(System.in);
System.out.print("请输入金字塔层数:");
n=input.nextInt();
//外层循环控制层数
for(i=1;i<=n;i++)
{
//根据外层行号,输出星号左边空格
for(j=1;j<=n-i;j++)
System.out.print("");
//根据外层行号,输出星号个数
for(k=1;k<=2*i-1;k++)
System.out.printf("*");
//一行结束,换行
System.out.printf(" ");
(6)扩展训练
为了方便大家训练,我们提供几个金字塔图案的同胞兄弟——倒金字塔、直角三角形,如图1.3所示。大家可以尝试和它们过过招。
图1.3各种形状图案
1.2九九乘法表
1.问题描述
输出九九乘法口诀表,如图1.4所示。
图1.4九九乘法口诀表
2.问题分析
观察九九乘法口诀表,可以得出图表的规律:总共有9行,第几行就有几个表达式。同时要注意每行表达式的规律:第j行,表达式就从j*1开始,一直到j*j结束,共有j个表达式,这个效果可以通过一次循环实现。这样的话,正好可以通过双重循环来控制输出,外层循环控制行数,内层循环控制列。还有个地方需要注意的是,内层和外层之间的联系,内层列的个数是根据外层的行数来控制的。
……
Java是Sun公司推出的能够跨多平台的、可移植性最好的一种面向对象的编程语言。其强大的跨平台特性使Java程序可以运行在任何一个系统平台上,包括智能手机、平板电脑等。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等,这使得它成为应用范围最广泛的开发语言。广泛的应用必将带来新一轮的学习热潮。
随着对Java的了解越来越深,Sun对Java的设计目标给我们留下了最深刻印象,那就是:为程序员减少复杂性。用他们的话说就是:“我们关心的是,减小开发健壮代码所需的时间以及困难。”在早期,这个目标使得代码的运行并不快(Java程序的运行效率已经改善了),但它确实显著地缩短了代码的开发时间。
与用C++开发相同的程序相比,采用Java只需一半甚至更少的开发时间。仅此一项,就已经能节约无法估量的时间与金钱了,然而Java并未止步于此。它开始着手解决日渐变得重要的各种复杂任务,例如多线程与网络编程,并将其作为语言特性或以工具库的形式纳入Java,这使得开发此类应用变得倍加简单。最终,Java解决了一些相当大的复杂性问题:跨平台编程、动态代码修改,甚至是安全的议题。它让你在面对其中任何一个问题时,都能从“举步维艰”到“起立鼓掌”。抛去我们都能看到的性能问题,Java确实非常精彩地履行了它的诺言:极大地提升程序员的生产率。
为了帮助读者拓宽Java编程思维,提高Java编程能力,培养编程兴趣,掌握用程序设计解决实际问题的方法与技巧,笔者结合自己多年的Java开发经验和心得体会,选择了100个Java编程趣味题,详细讲解这些题目的求解过程,书中的每个实例都给出了详细的代码及注释。希望读者通过阅读本书,喜欢Java编程,并最终能提高Java编程的水平,为自己的职业技能奠定一个良好的基础。
本书特色
1.视频教学,高效、直观
本书中的实例专门录制了对应的多媒体教学视频,以辅助读者学习,高效而直观。读者可以先阅读本书内容,再结合多媒体教学视频进行学习,以获得最佳的学习效果。
2.实例新颖,趣味性强
兴趣是最好的老师,本书编写过程中始终贯穿这一思想,选取的100个实例都从趣味编程的角度出发,并兼顾实用性。
3.讲解细致,通俗易懂
本书的写作过程基本一致,都是先提出问题,再分析问题,接着确定程序框架,然后从整体到局部,一步一步地补充完善程序。每个实例都详细讲解了每一个环节,讲解的过程就是程序从无到有、从小变大的过程。
4.类型多样,实用性强
本书每章都是一种类型的题目,基本涵盖了各种常见的问题,很多实例来自编程大赛和企业面试题,具有很强的实用价值。
5.代码详细,注释丰富
本书中的每一个实例都给出了详细的实现代码,并给出了大量的注释,这可以让读者阅读代码时毫无障碍,能获得更好的学习效果。
6.覆盖面广
本书内容基本上涵盖了了Java程序设计所涉及的常用知识点,适合学习Java的读者作为上机编程实践的指导书。
7.提供技术支持,答疑解惑
本书内容及体系结构
第1章变幻多姿的图表
本章主要包括金字塔图案、余弦曲线、奥运五环旗、心形图案等趣味题。通过本章的学习,读者可以掌握变幻多姿图表编程的核心技术及应用。
第2章身边的数学问题
本章主要包括黑色星期五、个人所得税、分糖果、天平称物、二维多项式计算、线性方程求解、非线性方程求解等趣味题。通过本章的学习,读者可以掌握如何通过程序设计来解决一些有趣的数学问题。
第3章趣味整数
本章主要包括水仙花数、完数、相亲数、黑洞数、自守数等趣味题。通过本章的学习,读者可以掌握趣味整数编程的技巧及应用。
第4章趣味素数
本章主要包括孪生素数、金蝉素数、可逆素数、回文素数、平梅森尼数、哥德巴赫猜想等趣味题。通过本章的学习,读者可以掌握趣味素数编程的核心技术及应用。
第5章趣味方程
本章主要包括百鸡百钱、楼梯台阶、换硬币、鸡兔同笼、五家共井、三色球问题等趣味题。通过本章的学习,读者可以掌握巧用方程解决问题的核心技术。
第6章趣味分数
本章主要包括最大公约数、最小公倍数、分数比较、分数求和、埃及分数式、计算分数精确值、猴子分桃等趣味题。通过本章的学习,读者可以掌握趣味分数编程的核心技术及应用。
第7章逻辑推理
本章主要包括斐波那契数列、年龄问题、谁在说谎、游客国籍、谁家孩子跑得最慢、猴子爬山、舍罕王赏麦等趣味题。通过本章的学习,读者可以掌握逻辑推理编程的核心技术及应用。
第8章趣味变幻
本章主要包括分解质因数、乘式还原、除式还原、幻方、泊松分酒、猜牌术、邮票组合、整数拆分等趣味题。通过本章的学习,读者可以掌握趣味变幻编程的核心技术及应用。
第9章定理与猜想
本章主要包括四色定理、角谷猜想、Л的近似值、卡拉列克常数、剩余定理、尼科彻斯定理、马踏棋盘等趣味题。通过本章的学习,读者可以掌握定理与猜想编程的核心技术及应用。
第10章趣味游戏
本章主要包括掷骰子、发扑克牌、24点、常胜将军、人机猜数、过桥游戏、生命游戏等趣味题。通过本章的学习,读者可以掌握趣味游戏编程的核心技术及应用。
第11章其他趣味问题
本章主要包括字符串匹配、双色球、金额转换、高斯八皇后、罗马数字、找假币、窃贼问题、三色旗等趣味题。通过本章的学习,读者可以掌握其他趣味问题编程的核心技术及应用。
本书读者对象
*普通高校本、专科学生;
*职业技术院校的学生;
*程序设计爱好者;
*各级程序设计选拔赛学员;
*青少年信息学奥林匹克竞赛人员。
Java趣味编程100例(附光盘) 下载 mobi pdf epub txt 电子书 格式 2024
Java趣味编程100例(附光盘) 下载 mobi epub pdf 电子书为了用199-100的券,凑了好多书,因为这个活动让我这个几年不读书的人改变了?
评分挺有意思的一本书,适合初学者
评分速度快,质量好,关键是价格低还是正版!京东给力
评分java算法书,支持一个,
评分嗯 还没打开看 618买了6本编程书 包装没破
评分包装完好,送货速度快,书籍内容丰富,简单,实用性强,配合光盘使用效果好,可以复习基础知识,也可以练习思维,适合初学者使用,提高兴趣,提高能力。
评分买了很多本关于java 的学习书,对于无基础的学生来说都是不友好。看到评论说这本适合无基础的学习,看看是否合适。里面的视频还未下载,不知有无时效性
评分非常好的一本书!里面的趣味编程都很详细!强烈推荐?
评分比我想象中厚了很多,已经开始看了,感觉不错,通俗易懂,形象生动,对于我这样没有基础,想开始学java的菜鸟来说,太合适了!
Java趣味编程100例(附光盘) mobi epub pdf txt 电子书 格式下载 2024