每次值更改时将变量的内容保存到文本文件
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 作为参数传入,而不是每次迭代都打开和关闭它。
我的问题是我想在文本文件中显示我的全部计算结果
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 作为参数传入,而不是每次迭代都打开和关闭它。