我想这段代码的输出有三个数组列表中的条目由逗号分隔为分隔符下面("slow,steady"),("blue, white,green")("whale, shark ");
。它具有以下输出如何打印第一个数组中的单词,第二个数组中的第二个和第三个数组中的第三个单词的组合?
slow blue whale
slow white whale
slow white shark
steady blue whale
steady white shark
and so forth.
我能够给每一个字分开,并把他们在三个单独的名单。 list1包含慢速稳定list2包含蓝色白色绿色和list3包含鲸鲨。但我无法连接它们。欢迎任何投入。
import java.util.StringTokenizer;
import java.util.ArrayList;
import java.util.List;
import java.util.*;
public class HelloWorld {
String input; //input String
StringBuffer output; //Holds the output
String delimiter = ","; //Delimiter (default comma (,))
String arrayOfWords[];
List<String> list1 = new ArrayList<String>();
List<String> list2 = new ArrayList<String>();
List<String> list3 = new ArrayList<String>();
int listCount;
/*
* Generates combinations by applying the
* concept of recursion
*/
public void generateCombinations(String input, String delimiter,int listCount)
{
output = new StringBuffer();
this.input = input;
this.delimiter = delimiter;
this.listCount = listCount;
String[] stockArr = new String[list1.size()];
String[] stockArr1 = new String[list2.size()];
String[] stockArr2 = new String[list2.size()];
if(listCount == 1) {
String items1[] = input.split(",");
for(int i=0;i< items1.length; i++){
list1.add(items1[i]);
}
}
else if(listCount == 2) {
String items2[] = input.split(",");
for(int i=0;i< items2.length; i++){
//System.out.println(items2[i]);
list2.add(items2[i]);
}
}
else {
String items3[] = input.split(",");
for(int i=0;i< items3.length; i++){
// System.out.println(items3[i]);
list3.add(items3[i]);
}
}
stockArr = list1.toArray(stockArr);
stockArr1 = list2.toArray(stockArr1);
stockArr2 = list3.toArray(stockArr2);
for(String s1 : stockArr){
System.out.print(s1);
}
for(String s2 : stockArr1){
System.out.print(s2);
}
for(String s3 : stockArr2){
System.out.print(s3);
}
for(int i=0;i<list1.size();i++){
String s1 = list1.get(i).toString();
for(int j=0;j<list2.size();j++){
String s2 = list2.get(j).toString();
System.out.println(s1+s2);
}
}
}
public static void main(String[] args) {
ArrayList <String> strings = new ArrayList <String>();
int i=1;
for(String string : strings){
new HelloWorld().generateCombinations(string , ",",i);
++i;
}
}
}
所以,你想在年底创造一个巨大的字符串? – lukescomputers
感谢您的回复。我试图打印的是:缓慢的蓝鲸 - 第1行缓慢的白鲸 - 第2行,等等全部在分隔线 –
有没有任何模式? –