【列出一个字符串的全字符组合】
2014-04-10 22:41
99 查看
编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符
例如:
原始字符串是"abc",打印得到下列所有组合情况
"a" "b" "c"
"ab" "bc" "ca" "ba" "cb" "ac"
"abc" "acb" "bac" "bca" "cab" "cba"
例如:
原始字符串是"abc",打印得到下列所有组合情况
"a" "b" "c"
"ab" "bc" "ca" "ba" "cb" "ac"
"abc" "acb" "bac" "bca" "cab" "cba"
import java.util.ArrayList; import java.util.List; public class Test2 { public static void main(String[] args) { String [] strs={"a","b","c"}; List<String>oldList=new ArrayList<String>(); List<String>newList=new ArrayList<String>(); for(int i=1;i<=strs.length;i++){ if(oldList.size()==0 ){ for(String str:strs){ if(myMothod(str)) { newList.add(str); System.out.print(str+" "); } } System.out.println(); }else{ for(String str1:oldList){ for(String str2:strs){ if(myMothod(str1+str2)){ newList.add(str1+str2); System.out.print(str1+str2+" "); } } } System.out.println(); } //请空旧的容器,将新容器的数据导入旧的容器 oldList.clear(); for(String str:newList){ oldList.add(str); } newList.clear(); } } //定义一个判断字符串中是否有重复的制定的字符的方法 public static boolean myMothod(String str){ for(int i=0;i<str.length();i++){ char c=str.charAt(i); for(int j=i+1;j<str.length();j++){ if(c==str.charAt(j)) return false; } } return true; } }
相关文章推荐
- 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如: 原始字符串是"abc",打印得到下列所有组合情况
- java练习: 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符,例如:
- 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符。
- 有一个纯字符串,编写一段代码,列出其所有字符的大小写组合 如 :字符串“ji”,字母组合['ji','jI','Ji','JI'] 即每个字符的大小写组合
- 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符
- JAVA----编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符
- 输入一个字符串,输出该字符串中字符的所有组合
- Java练习题-输入一个字符串,输出该字符串中字符的所有组合(二)
- 输入一个字符串,输出该字符串中字符的所有组合
- 读取一个字符串,并输出它里面字符的所有组合。
- 输入一个字符串,输出该字符串中字符的所有组合
- 求一个字符串中所有字符的组合
- 求解一个字符串的所有字符的组合 Java代码
- Java练习题-输入一个字符串,输出该字符串中字符的所有组合
- 求一个字符串中所有字符的组合
- 【编程题】输入一个字符串,输出该字符串中相邻字符的所有组合。
- 练习1-2 做个实验,当printf函数的参数字符串中包含\c(其中c是上面的转义字符未曾列出的某一个字符)时,观察一下输出
- 递归问题之一:给定一字符串,输出字符串中所有字符子串的各种组合形式,长度为一个字符到字符串的长度,忽略排序
- 输入一个字符串,输出该字符串中字符的所有组合 C#【总结】
- Malab 关于将一个变量和固定字符组合成一个字符串