Java实验:水仙花数、素数与阶乘计算
需积分: 10 91 浏览量
更新于2024-09-13
收藏 79KB DOC 举报
在本次Java实验中,我们探讨了三个不同的编程任务,旨在提升结构化程序设计能力和基本算术运算的理解。
首先,实验1是关于水仙花数的识别。水仙花数是指一个三位数,其各位数字的立方和等于该数本身。在提供的Java代码中,定义了一个名为`NarcissisticNumber`的类,通过for循环遍历100到999之间的整数,计算每一位的立方并检查它们之和是否等于原数。程序通过取余数的方式分别获取个位、十位和百位数,并利用Math.pow函数计算立方,然后进行比较。运行结果显示了所有满足条件的三位水仙花数。
第二个实验任务是编写一个Java程序来找出100以内的素数。这个程序定义在`Prime`类中,它使用了`prime`方法,接收一个整数参数n,表示查找素数的范围。程序内部的双重for循环遍历每个数,对于每一个数,检查是否存在小于其平方根的因子。如果存在,则该数不是素数,设置`flag`为0并跳出循环。最后,如果`flag`仍为1,表明该数是素数,将其打印出来。运行结果列出了100以内的所有素数。
最后一个挑战是求解阶乘总和,即1! + 2! + ... + 20!。为了处理较大的数值,这里使用了`java.math.BigInteger`类,因为它可以处理任意大小的整数。在`Factorial`类的`doFactorial`方法中,通过递归计算每个数的阶乘,并将结果累加到`BigInteger`对象`sum`中。在`main`方法中,从1到20依次调用`doFactorial`方法并将结果累加。最后,程序输出整个阶乘序列的总和。
这些实验不仅锻炼了学生的基本编程技能,还涵盖了数学逻辑、条件判断和数值计算等概念,有助于理解和实践Java编程语言中的控制结构和数据类型处理。通过这些实践,参与者能够提升对Java语言的理解,同时增强问题解决和算法设计的能力。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2012-04-17 上传
2021-10-01 上传
2021-10-25 上传
2018-11-15 上传
2008-12-30 上传
2011-10-10 上传
l_entropy
- 粉丝: 13
- 资源: 77