Java编程基础:代码填空练习与日期计算

2星 需积分: 9 3 下载量 152 浏览量 更新于2024-07-31 收藏 87KB DOC 举报
在本篇关于Java编程的ACM竞赛题集中,我们探讨了五个不同的代码填空题目,涉及基础的循环结构、数据交换、逻辑判断以及日期计算等核心知识点。 1. **打印0~9的数字** - 题目要求编写一个递归函数`f`,从`begin`开始,逐个打印数字直到`end`。填空部分应实现递归调用自身,并在条件满足时停止。完整的代码如下: ```java publicclass MyTest{ public static void f(int begin, int end){ if (begin > end) return; System.out.println(begin); f(begin + 1, end); } public static void main(String[] args){ f(0, 9); } } ``` 2. **交换整型变量** - 通过异或操作完成无中间变量的值交换。填空部分为: ```java a = a ^ b; b = a ^ b; // 这里先取a的原值,再与b异或,然后将结果赋给b a = a ^ b; // 再次异或恢复a的原始值 ``` 3. **拍7游戏** - 要检查数字是否既是7的倍数,又不是10的倍数。填空部分应为: ```java (i % 7 == 0 && i % 10 != 0) || (i / 10 == 7) ``` 4. **计算日期天数** - 提供的代码实现了根据给定年月日计算某年中的第几天。`days`数组存储每个月份的天数,包括闰年的特殊处理。填空部分完成初始化数组: ```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}}; ``` 5. **找出平方数** - 该方法需要找出1到n范围内的所有平方数。由于题目没有给出完整代码,但可以推测这部分可能涉及一个循环和条件判断。例如,可以通过循环找到每个整数的平方并检查是否在1到n范围内。填空部分可以这样实现: ```java for (int i = 1; i * i <= n; i++) { if (i * i == n) { System.out.print(i * i + " "); } } ``` 这些题目覆盖了Java编程中基础的数据处理、控制流、逻辑判断以及日期计算等重要知识点,有助于提升参赛者的编程能力和算法应用能力。