我的问题是我想在文本文件
中显示我的计算的整个结果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;
}
}
}
}
非常重要!请阅读
如果您选择将此问题标记为重复,请不要只是引用我的问题。请找到一个能够恰当回答这个问题的答案的答案。信不信由你,并非所有标记为重复的问题都是重复的。
答案 0 :(得分:0)
为什么不在每次更改文件时将其写入文件?只需将写入逻辑从基础案例移动到您的其他块。当然,如果你这样做,你可能希望将FileWriter作为参数传递,而不是每次迭代都打开和关闭它。