JAVA编程题全集:菲波那契、素数判断与水仙花数探索

5星 · 超过95%的资源 需积分: 10 5 下载量 70 浏览量 更新于2024-07-22 收藏 209KB DOC 举报
本资源是一份针对Java编程的学习资料,包含三个具体的编程题目和相应的代码示例,旨在帮助学习者提升Java编程技能。以下是各部分知识点的详细解析: 1. 菲波那契数列问题: 题目涉及的是经典的数学问题,通过Java实现了一个简单的Fibonacci数列算法。Fibonacci数列(如程序1所示)的特点是每个数是前两个数之和,即`f(n) = f(n-1) + f(n-2)`。在这个例子中,程序初始化`f1`和`f2`为1,然后计算从第3个月到第24个月的兔子对数。每一轮循环,`f1`的值会被更新为`f2`,`f2`的值则更新为当前的`f1`与`f2`之和。这个程序展示了基础的递归和循环控制在解决序列问题中的应用。 2. 素数判定: 程序2是关于素数检测的问题,它利用了判断素数的基本方法——埃拉托斯特尼筛法(Sieve of Eratosthenes)的一个简化版本。通过遍历101到199之间的每个数,程序检查它们是否能被2到该数平方根范围内的整数整除。若不能,则认为是素数,增加计数并输出。这段代码展示了如何使用嵌套循环和条件判断来实现基本的算法逻辑。 3. 水仙花数: 程序3涉及一个趣味性的数学概念——水仙花数。这种特殊的三位数,其各位数字的立方和等于该数本身。例如153就是水仙花数,因为它满足1^3 + 5^3 + 3^3 = 153。程序通过循环遍历101到999之间的每一个三位数,计算每位数字的立方和并与原数比较,符合条件的就打印出来。这展示了数组操作和条件语句在处理特定数值条件下的应用。 这份Java编程题全集涵盖了基础的数学问题、素数检测算法以及数学趣味性问题的编程实现,对于Java初学者或进阶者来说,既能锻炼编程基础,又能提升算法理解和解决问题的能力。通过解决这些题目,学习者可以巩固Java语言的理解,并提高逻辑思维和问题解决技巧。
2019-01-12 上传
大学java的期末复习资源,试题及答案 1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A.java B..class C.html D..exe 2、下面哪一项字符序列可以作为合法的标识符( )。 A.true B.null C.2018_year D.$2018year 3、下列选项中,( )不属于Java语言的简单数据类型。 A.整数型 B.数组 C.字符型 D.浮点型 4、对于int a[ ]=new int[3],下列叙述错误的是( )。 A. a.length的值是3 B. a[1]的值是1 C. a[0]的值是0 D. a[a.length-1]的值等于a[2]的值 5、用下列哪个代码替换程序标注的【代码】会导致编译错误? A.m-->0 B.m++>0 C.m = 0 D.m>100&&true; public class E { public static void main (String args[ ]) { int m=10,n=0; while(【代码】) { n++; } } } 6、以下关于继承的叙述正确的是( )。 A. 在Java中类不能多继承 B. 在Java中一个类只能实现一个接口 C. 在Java中一个类不能同时继承一个类和实现一个接口 D. 在Java中接口只能单一继承 7、对于下列Cat类,哪个叙述是错误的?( ) A.Cat类只有 2 个构造方法,而且没有无参数的构造方法 B.Cat类有 4 个构造方法 C.Cat (int m)和 Cat (double m)是互为重载的构造方法 D.int Cat (int m)和 void Cat (double m) 是互为重载的非构造方法 class Cat { Cat (int m){ } Cat (double m){ } int Cat (int m){ return 23; } void Cat (double m){ }} 8、下列叙述哪些是正确的( )。 A final 类可以有子类 B abstract类中只能有abstract方法 C abstract类中可以有非abstract方法,但该方法不可以用final修饰 D 不可以同时用final和abstract修饰一个方法 9、假设D类有如下定义,设d是D类的一个实例对象,下列语句调用错误的是 ( )。 class D{ int i; static String s; void method1(){} static void method2(){}} A.d.method1(); B.D.method2(); C.D.method1(); D.System.out.println(d.i); 10、将下列( )哪个代码替换下列程序中的【代码】不会导致编译错误。 A.public int f(){return 100+M;} B.int f(){return 100;} C.public double f(){return 2.6;}。 D.public abstract int f();