【发布时间】:2020-12-24 20:04:00
【问题描述】:
所以我有这个编程项目,我需要在其中创建一个程序来确定一个数字是否是一个完美的正方形,如果是,将它写入一个 .txt 文档。使用 for 循环执行此操作非常容易且有效,但是,赋值指令表明程序应使用递归来完成此操作。这是我想出的迭代语句:
double division;
for (int i = 0; i < inputs.size(); i++) {
division = (Math.sqrt(inputs.get(i)));
if (division == (int)division) {
pw.println(inputs.get(i));
}
}
其中inputs 是通过读取用户输入创建的ArrayList。
这解决了问题,但就像我说的,它需要是一个递归语句。我知道,对于递归,我需要一个最终使方法停止调用自身的基本案例,但我无法弄清楚基本案例是什么。此外,我还看到了几个从迭代转换为递归的示例,但所有这些示例都使用单个 int 变量,在我的情况下,我需要使用 ArrayList 来完成。
任何帮助将不胜感激
【问题讨论】:
-
您的函数与 inputs() 是一个数组列表这一事实无关......它只使用 inputs.get(i) ,它只是一个整数变量。
-
是的,我没有这样想
标签: java recursion arraylist iteration