static void generator7(String fileName) throws IOException {
FileWriter fw = new FileWriter(fileName);
String[] list = { "a", "b", "c", "d" };
for (int o = 0; o < list.length; o++) {
for (int n = 0; n < list.length; n++) {
for (int m = 0; m < list.length; m++) {
for (int l = 0; l < list.length; l++) {
for (int k = 0; k < list.length; k++) {
for (int j = 0; j < list.length; j++) {
for (int i = 0; i < list.length; i++) {
fw.append(list[i] + list[j] + list[k]
+ list[l] + list[m] + list[n]
+ list[o]);
fw.append("\n");
}
}
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我有这个代码用于生成不同的字母组合(a,b,c,d).我希望它能为ttttttt生成aaaaaa,aaaaaac,aaaaaag,aaaaaat.然而,组合产生停止在tttttgt.没有例外.我不知道我的代码的哪一部分出了问题.请帮忙.
static void generator7(String fileName) throws IOException {
FileWriter fw = new FileWriter(fileName);
String[] list = { "a", "b", "c", "d" };
for (int o = 0; o < list.length; o++) {
for (int n = 0; n < list.length; n++) {
for (int m = 0; m < list.length; m++) {
for (int l = 0; l < list.length; l++) {
for (int k = 0; k < list.length; k++) {
for (int j = 0; j < list.length; j++) {
for (int i = 0; i < list.length; i++) {
fw.append(list[i] + list[j] + list[k]
+ list[l] + list[m] + list[n]
+ list[o]);
fw.append("\n");
}
}
}
}
}
}
}
fw.flush();
fw.close();
}
Run Code Online (Sandbox Code Playgroud)
编辑:第一个代码是问题.第二个代码是解决方案.
看起来你不是在冲洗FileWriter.其余的字符串几乎肯定在内存中仍然没有写入磁盘.确保在完成后冲洗并关闭FileWriter.
事实上,只有调用close方法是非常必要的,因为它会调用flush自己,但是由于你已经被缺乏同花顺所困扰,所以认为重要的是要强调这里......