Java小程序编程填空实战与解题关键

需积分: 9 1 下载量 4 浏览量 更新于2024-07-29 收藏 87KB DOC 举报
本资源提供了一系列Java小程序编程的填空题目及其答案,适合初学者和进阶者提升Java编程技能。以下是详细解答: 1. 题目1要求编写一个递归函数`f`,打印0到9的数字。填空部分应添加一个递归调用,即在`if`语句后添加`f(begin, begin)`,确保每一步都打印当前数字,然后递归地调用自身,直到`begin`超过`end`。完整代码如下: ```java publicclassMyTest{ public static void f(int begin, int end){ if (begin <= end) { System.out.println(begin); f(begin + 1, end); } } // ... } ``` 2. 第二个问题是关于整型变量`a`和`b`值的交换,不使用额外变量。通过异或操作实现,可以先将`a`与`b`异或到`b`,再将`b`与结果异或回`a`,最后再次异或回`b`。填空部分为: ```java b = a ^ b; a = a ^ b; // 第一次异或回a b = a ^ b; // 再次异或回b ``` 3. 第三个问题涉及到经典的“拍7”游戏。判断条件除了`i`能被7整除之外,还需要检查`i`是否是10的倍数但不是7的倍数。因此,填空处应为`!(i % 10 == 0 && i % 7 != 0)`。完整代码如下: ```java for(int i = 1; i < 100; i++){ if(i % 7 == 0) printf("*\n"); else if(!(i % 10 == 0 && i % 7 != 0)) printf("%d\n", i); } ``` 4. 第四个题目是计算某年某月某日是当年的第几天。给定的`days`二维数组存储了不同月份的天数,其中`flag`用于判断闰年。填空部分需要根据`month`和`flag`来调整内循环的范围。完整代码如下: ```java int[][] days = { {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} }; // ... for(int i = 0; i < flag ? 12 : 11; i++){ sum += days[flag][i]; } ``` 5. 最后一个题目没有提供具体的题目,但从描述推测,可能是定义一个方法并指定目的。这里假设是计算某个整数列表的和。由于信息不完整,填空部分需要根据具体需求来确定。如果方法目的是求和,那么可以这样填写: ```java public static int sumList(int[] numbers) { int sum = 0; for (int num : numbers) { sum += num; } return sum; } ``` 以上五个填空题目涵盖了递归、数据结构、逻辑判断和基础算术运算等内容,有助于学习者巩固Java基础知识。