我正在尝试创建一个程序,打印出字母“AUGC”的所有可能组合。 输出实际上会打印到一个 txt 文件,结果将是一个如下所示的 txt 文件: “AAA 亚美尼亚集团 亚克力 美国大学联盟 亚加” ETC 这是我到目前为止的代码:
import java.io.*;
import java.util.*;
import java.lang.*;
public class Permute {
static String s = "ACGU";
static void permute(int level, String prefix) {
if (level == 0) {
String fileName = "out.txt";
PrintWriter outputStream = null;
try {
outputStream = new PrintWriter(fileName);
outputStream.println(prefix);
System.out.println(prefix);
outputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return;
}
for (int i = 0; i < s.length(); i++) {
permute(level - 1, prefix + s.charAt(i));
}
}
public static void main(String[] args) {
int k = 2;
permute(k, "");
}
}
当前程序将所有输出打印到控制台,仅将最后一个排列打印到 txt 文件。 我希望它能将所有信息打印到两者。
任何帮助将不胜感激
最佳答案
您过早地关闭了 OutputStream。由于您使用的是递归,因此将 OutputStream 作为参数传递给 main 方法中的 permute 方法。在主方法中初始化流并关闭它。
关于java - 输出不打印到txt文件Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32001330/