"Java面试题及答案:兔子规律与素数判断"

需积分: 0 0 下载量 88 浏览量 更新于2024-01-23 收藏 41KB DOCX 举报
Java 50道面试题及答案.docx是一份包含了50个Java面试题及其答案的文档。这些面试题涵盖了Java编程语言的不同方面,包括基本语法、数据类型、控制流程、面向对象编程、异常处理等。 在面试题中,有一个特别有趣的问题是关于兔子繁殖的。问题描述了一对兔子从出生后的第3个月开始每个月都生一对兔子,而小兔子长到第三个月后也开始每个月生一对兔子。假设兔子不会死亡,问每个月的兔子对数是多少?这个问题实际上是一个数列问题,数列的规律是1,1,2,3,5,8,13,21...。 下面是一个解决这个问题的Java程序: ```java public class Prog1 { public static void main(String[] args) { int n = 10; System.out.println("第" + n + "个月兔子总数为" + fun(n)); } private static int fun(int n) { if (n == 1 || n == 2) { return 1; } else { return fun(n-1) + fun(n-2); } } } ``` 另外一道问题是关于素数判断的。题目要求判断在指定范围内(101-200)有多少个素数,并输出所有素数。判断素数的方法是用一个数依次去除2到sqrt(这个数),如果能被整除,则表示此数不是素数;否则是素数。 下面是一个解决这个问题的Java程序: ```java public class Prog2 { public static void main(String[] args) { int m = 101; int n = 200; int count = 0; for (int i = m; i <= n; i++) { if (isPrime(i)) { System.out.println(i); count++; } } System.out.println("在" + m + "到" + n + "之间有" + count + "个素数"); } private static boolean isPrime(int num) { if (num <= 1) { return false; } for (int i = 2; i <= Math.sqrt(num); i++) { if (num % i == 0) { return false; } } return true; } } ``` 以上是对其中两个面试题的解答和相应的Java程序。这些面试题覆盖了Java编程语言的不同方面,可以用来检验面试者对Java的理解和掌握程度。希望这些面试题和解答对大家有帮助。