java语言实现字符串如1,2,3转成1或2或3或1,2或1,3或2,3或1,2,3
时间: 2024-03-13 12:47:50 浏览: 45
好的,以下是Java语言的实现:
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class StringCombination {
public static void main(String[] args) {
String input = "1,2,3";
List<String> combinations = getCombinations(input);
System.out.println(combinations);
}
private static List<String> getCombinations(String input) {
String[] elements = input.split(",");
List<String> result = new ArrayList<>();
for (int i = 1; i <= elements.length; i++) {
String[] subset = new String[i];
getSubsets(elements, i, 0, subset, 0, result);
}
return result;
}
private static void getSubsets(String[] elements, int subsetSize, int start, String[] subset, int index, List<String> result) {
if (index == subsetSize) {
result.add(String.join(",", subset));
return;
}
for (int i = start; i < elements.length; i++) {
subset[index] = elements[i];
getSubsets(elements, subsetSize, i + 1, subset, index + 1, result);
}
}
}
```
这个程序将输入的字符串按逗号分割成元素数组,然后使用递归函数来生成所有可能的组合。对于每个子集,我们将其拼接成一个字符串并将其添加到结果列表中。例如,对于输入字符串"1,2,3",程序将输出如下列表:
```
[1, 2, 3, 1,2, 1,3, 2,3, 1,2,3]
```
这个列表包含了所有可能的组合,您可以根据需要选择其中的任意一个。
阅读全文