黑马程序员技术交流社区
标题:
基础班考试题之字母组合试题 (可变长度)
[打印本页]
作者:
查无此人。
时间:
2015-6-29 16:54
标题:
基础班考试题之字母组合试题 (可变长度)
import java.util.Scanner;
import java.util.TreeSet;
public class Demo2 {
public static void main(String[] args) {
//输入字母
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
//转化为数组
char[] ch = str.toCharArray();
TreeSet<String> ts = new TreeSet<String>();
//先将单个字母存入到集合中
for(int x=0;x<ch.length;x++)
{
ts.add((ch[x]+""));
}
// 输出
System.out.println(ts);
// 对字母进行无重复组合输出
for (int x = 0; x < ch.length - 1; x++) {
//声明过渡集合
TreeSet<String> tree = new TreeSet<String>();
tree = forDemo(ts, ch, tree);
ts = tree;
}
sc.close();
}
public static TreeSet<String> forDemo(TreeSet<String> ts, char[] ch,
TreeSet<String> tree)
{
for (int x = 0; x < ch.length; x++) {
String str1 = ch[x] + "";
for (String str2 : ts) {
if (!str2.contains(str1)) {
String temp = new StringBuilder(str2).append(str1)
.toString();
tree.add(temp);
}
}
}
System.out.println(tree.toString());
return tree;
}
}
复制代码
作者:
查无此人。
时间:
2015-6-29 16:58
结果
作者:
fanxin_meng
时间:
2015-6-29 17:07
学习 学习了
作者:
查无此人。
时间:
2015-6-29 18:21
import java.util.TreeSet;
public class Demo1 {
public static void main(String[] args) {
String str = "abc";
char[] ch = str.toCharArray();
TreeSet<String> ts1 = new TreeSet<String>();
TreeSet<String> ts2 = new TreeSet<String>();
TreeSet<String> ts3 = new TreeSet<String>();
for (int x = 0; x < ch.length; x++) {
ts1.add(ch[x] + " ");
for (int y = 0; y < ch.length; y++) {
if (ch[x] != ch[y]) {
ts2.add(ch[y] + "" + ch[x] + "");
for (int z = 0; z < ch.length; z++) {
if (ch[y] != ch[z] && ch[x] != ch[z]) {
ts3.add(ch[y] + "" + ch[x] + "" + ch[z]);
}
}
}
}
}
System.out.println(ts1.toString());
System.out.println(ts2.toString());
System.out.println(ts3.toString());
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2