- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《2-java语言基础9》.ppt
* * * 第二章、Java语言基础 基础语言 (应用示例) * 2.9、应用示例 设定两个整数m和n,计算它们的最大公约数和最小倍数。 打印“魔方阵”。 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 * 示例 1. 设定两个整数m和n,计算它们的最大公约数和最小倍数。 (1)题解 最大公约数指两个整数共同拥有的最大约数。例如48和36的最大公约数是 12。 最小公倍数指两个整数共同拥有的最小倍数。例如48和36的最小公倍数是144。 程序要求在给定两个整数后,计算出这两个数的最大约数和最小倍数。 (源程序:ch03_9_1.java) (2)实现 两个整数分别由定义的两个int或long类型的变量表示,变量名称分别是 m 和 n(也可以用别的名称)。 m和n的值,可以直接用在程序中给定的常量,或者从键盘输入。如果从键盘输入,使用Scanner类提供的方法nextInt()从键盘接收数据。 计算最大公约数和最小公倍数用两个独立的程序分别实现,即方法maxCommDiv和maxCommMul。(有关方法的概念在后面章节介绍) Java程序是以类或对象为单元的,所以该程序必须是一个类,并且类名和程序源文件名相同,这里类名称用ch03_9_1,源文件名为ch03_9_1.java。 (3)算法流程 定义变量m,n, maxDiv,maxMul 开始 输入整数给m和n 计算最大公约数 maxDiv 计算最小公倍数 maxMul 显示计算结果 开始 主程序流程 最大公约数计算流程 定义变量max mn m→max n→max m/max或n/max 余数为0吗? max -1→max 返回max Y Y N N 最小公倍数计算流程 定义变量max mn m→max n→max max/m或max/n 余数为0吗? max +1→max 返回max Y Y N N (4)程序解释 public static int maxCommDiv(int m,int n){ int commDiv; if(mn) commDiv = m; else commDiv = n; while(m%commDiv!=0 || n%commDiv!=0){ commDiv--; } return commDiv; } maxCommDiv()方法计算两个整数的最大公约数。 变量commDiv用来表示最大公约数。它的初值设置成两个整数中比较小的整数的值。 int commDiv; if(mn) commDiv = m; else commDiv = n; 用commDiv分别除以两个整数,检查它们的余数是否都为0。 如果不为0,就将commDiv的值减一,继续比较它们的余数是否都为0,即重复a)。 如果余数为0,说明当前commDiv变量的值可以同时整除两个变量。在这里commDiv是它们的公约数。 while(m%commDiv!=0 || n%commDiv!=0){ commDiv--; } public static int maxCommMul(int m,int n){ int commMul; if(mn) commMul = m; else commMul = n; while(commMul%m!=0 || commMul%n!=0){ commMul++; } return commMul; } maxCommMul()方法计算两个整数的最小公倍数。 变量commMul用来表示最小公倍数。它的初值设置成两个整数中比较大的整数的值。 int commMul; if(mn) commMul = m; else commMul = n; 使commMul分别被两个整数除,检查它们的余数是否都为0。 如果不为0,就将commMul的值加一,继续比较它们的余数是否都为0,即重复a)。 如果余数为0,说明当前commMul变量的值可以同时被两个变量整除。在这里commMul是它们的公倍数。 while(commMul%m!=0 || commMul%n!=0){ commMul++; } 程序运行结果 示例 2. 17 24 1 8 15 23 5
文档评论(0)