这个组合怎么生成?

水木夕阳 2012-06-03 06:43:46
string s = "86,87|57|47,69";//接收一个字符串,进行|分割成数组,这个是动态的,数组不知道有多少个 ,也可能是86,87|57|47,69|98,78
//打印出组合,如
//86,57,47
//86,57,69
//87,57,47
//87,57,69
//如果是86,87|57|47,69|98,78
//打印出组合,如
//86,57,47,98
//86,57,47,78
//86,57,69,98
//86,57,69,78
//87,57,47,98
//87,57,47,78
//87,57,69,98
//87,57,69,78
...全文
153 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
哦,1L算法完全正确,不过好像看错题目了,第一步是按照“|”分割,第二步是“,”分割

public class Test{
public static void main(String[] args) {
String s = "86,87|57|47,69";
String data = "";
String[] dataStrArray = s.split("\\|");
doSomthing(dataStrArray, 0, data);
}

public static void doSomthing(String[] dataStrArray, int index, String data) {
String[] temp = dataStrArray[index].trim().split(",");
for (String ss : temp) {
if (index == dataStrArray.length - 1) {
data += ss;
System.out.println(data);
data = data.replace(ss, "");
} else {
data += ss + ",";
index += 1;
doSomthing(dataStrArray, index, data);
index -= 1;
data = data.replace(ss + ",", "");
}
}
}
}
RDroid 2012-06-03
  • 打赏
  • 举报
回复
1.字符串分割
2.排列组合
sdojqy1122 2012-06-03
  • 打赏
  • 举报
回复

public class Test {
public static void main(String[] args) {
String s = "86,87|57|47,69";
String data = "";
String[] dataStrArray = s.split(",");
doSomthing(dataStrArray, 0, data);
}

public static void doSomthing(String[] dataStrArray, int index, String data) {
String[] temp = dataStrArray[index].trim().split("\\|");
for (String ss : temp) {
if (index == dataStrArray.length - 1) {
data += ss;
System.out.println(data);
data = data.replace(ss, "");
} else {
data += ss + ",";
index += 1;
doSomthing(dataStrArray, index, data);
index -= 1;
data = data.replace(ss + ",", "");
}
}
}
}

sdojqy1122 2012-06-03
  • 打赏
  • 举报
回复

public class Test {
public static void main(String[] args) {
String s = "86,87|57|47,69";
String data = "";
String[] dataStrArray = s.split(",");
doSomthing(dataStrArray, 0, data);
}

public static void doSomthing(String[] dataStrArray, int index, String data) {
String[] temp = dataStrArray[index].trim().split("\\|");
for (String ss : temp) {
if (index == dataStrArray.length - 1) {
data += ss;
System.out.println(data);
data = data.replace(ss, "");
} else {
data += ss + ",";
index += 1;
doSomthing(dataStrArray, index, data);
index -= 1;
data = data.replace(ss + ",", "");
}
}
}
}

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧