每次值更改时将变量的内容保存到文本文件

Saving a variable's contents to a text file every time its value changes

我的问题是我想在文本文件中显示我的全部计算结果

aaa,
aab,
aba,
abb,
baa,
bab,
bba,
bbb

不只是最后的计算bbb。我在想这可以通过编写一个打印每个组合的 for 循环来实现吗?我该怎么做?

这是我的代码:

package test;

import java.io.FileWriter;
import java.io.IOException;

public class VarWriterTest{ 
String newline = System.getProperty("line.separator");

    public static void main(String[] args) {
        VarWriterTest VWT = new VarWriterTest();
        char[] alphalist = new char[] {'a', 'b'}; 
        StringExcersise.possibleStrings(3, alphalist,"");
    }
} 
class StringExcersise {

    public static void possibleStrings(int maxLength, char[] alphabet, String curr) {

        if(curr.length() == maxLength) {
            try(FileWriter out = new FileWriter("E:\combo.txt");) {
                   out.write(curr.toCharArray());


            }catch(IOException ioe){
                System.out.println("Could not write file. Sorry.");
            }

         }else{
            for(int i = 0; i < alphabet.length; i++) {
                String oldCurr = curr;
                curr += alphabet[i];
                possibleStrings(maxLength,alphabet,curr);
                curr = oldCurr;
            }
        }
    }
}

非常重要!请阅读

如果您选择将此问题标记为重复,请不要只将我引向该问题。请找到一个能够恰当回答接近这个问题的场景的答案。信不信由你,并非所有标记为重复的问题实际上都是重复的。

为什么不在更改时将其写入文件?只需将编写逻辑从您的基本案例移至您的 else 块。当然,如果这样做,您可能希望将 FileWriter 作为参数传入,而不是每次迭代都打开和关闭它。