首页 > 解决方案 > 如何编写此递归的输出而不每次都覆盖 .txt 文件?

问题描述

所以我有这个递归方法:

public static void returnValues(int i) throws IOException {
    double division = (Math.sqrt(inputs.get(i)));
    if (i == 0) {
        System.out.println(inputs.get(i));
        System.out.println("Success! Check your desktop to see the results");
    }   
    else if (division == (int)division) {
        System.out.println(inputs.get(i));
        i--;
        returnValues(i);
    }
    else {
        i--;
        returnValues(i);
    }         
}

每次看到 aSystem.out.println()时,我都需要程序将 的值写入inputs.get(i).txt 文件的新行中。问题是,每次我尝试这样做时,Java 会在每次方法再次调用自身时自动覆盖文件,所以在执行结束时,文件上唯一写入的内容就是最后一次迭代的输出.

关于如何做到这一点的任何想法?

标签: javarecursion

解决方案


推荐阅读