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

时间:2016-07-28 22:48:02

标签: java loops filewriter

我的问题是我想在文本文件

中显示我的计算的整个结果
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;
            }
        }
    }
}

非常重要!请阅读

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

1 个答案:

答案 0 :(得分:0)

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