我希望这不是一个愚蠢的问题,但我从另一篇文章中获取了下面的代码。它只是生成字符串的所有排列。我想做的只是修改它,以便将所有排列添加到一个数组列表中,但是我很难找到希望是简单明显的解决方案。有人可以快速浏览一下并解释我做错了什么吗?我只想获取一个字符串的排列并创建一个数组列表,仅此而已。
public class UserInput {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Enter Word: ");
List<String> inputList = new ArrayList<String>();
String input = scan.next();
permutation(input);
//Error occurs here
inputList.addAll(permutation(input));
}
public static void permutation(String str) {
permutation("", str);
}
private static void permutation(String prefix, String str) {
int n = str.length();
if (n == 0) System.out.println(prefix);
else {
for (int i = 0; i < n; i++)
permutation(prefix + str.charAt(i), str.substring(0, i) + str.substring(i+1, n));
}
}
}