求一算法!

[小文] 2013-03-26 11:33:30
给定若干数组,注意是若干(数量不定)
new String[] { "张","章","脏" }
new String[] { "三", "山", "删" }
new String[] { "疯", "峰", "风", "封" }
-----------------------------------------------------
得到如下结果:
张三疯,张三峰,张三风,张三封,张山疯,张山峰,张山风......

求过路朋友指点
...全文
304 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
livend 2013-03-26
  • 打赏
  • 举报
回复
不要算法,直接就可以
[小文] 2013-03-26
  • 打赏
  • 举报
回复
不懂,求代码!
bin331083508 2013-03-26
  • 打赏
  • 举报
回复
你把他放到方法里,传参进去不就得了,改改就行了!!
[小文] 2013-03-26
  • 打赏
  • 举报
回复
朋友:bin331083508 我说的是若干数组,数量不定!
泰坦小毛驴 2013-03-26
  • 打赏
  • 举报
回复
怎么看都是循环遍历的事,没啥算法可言吧
bin331083508 2013-03-26
  • 打赏
  • 举报
回复
三个for套一下就好了
		String[] s1 = new String[]{ "张","章","脏" };
String[] s2 = new String[] { "三", "山", "删" };
String[] s3 = new String[] { "疯", "峰", "风", "封" };
for(int i =0; i<s1.length; i++){
for(int j=0; j<s2.length; j++){
for(int k=0; k<s3.length; k++){
System.out.println(s1[i]+s2[j]+s3[k]);
}
}
}
[小文] 2013-03-26
  • 打赏
  • 举报
回复
求代码!!!!
onlyyou67 2013-03-26
  • 打赏
  • 举报
回复
这不就是多嵌套几个循环而已嘛
zhl71199713 2013-03-26
  • 打赏
  • 举报
回复
引用 1 楼 yyw6637 的回复:
这不就是9*9算法嘛,去网上看看99算数怎么实现的
+1
yyw6637 2013-03-26
  • 打赏
  • 举报
回复
这不就是9*9算法嘛,去网上看看99算数怎么实现的
-AJ- 2013-03-26
  • 打赏
  • 举报
回复
引用 8 楼 dexter701 的回复:
朋友:bin331083508 我说的是若干数组,数量不定!
数组个数,总会在程序执行到某个点的时候被确定。
tc@zen123 2013-03-26
  • 打赏
  • 举报
回复
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Test20130326 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		compose(new String[]{"A","B","C"},new String[]{"a","b","c"},new String[]{"1","2"});
	}
public static void compose(Object ...obj){
	int start = 0;
	//int wLength = -1;
	int hLength = obj.length;
	for(Object arr:obj){
		if(!(arr instanceof String[])){
			System.out.println("The type is not right!");
			return;
		}
	}
	//wLength = ((String[])obj[hLength-1]).length;
	StringBuilder s = new StringBuilder("");
	getComposeString(s,(String[])obj[0],start,hLength,obj);
	
} 
public static String getComposeString(StringBuilder str,String[] obj,int index,int maxSize,Object ...all){
	//String[] temp = new String[obj.length] ;
	//System.arraycopy(obj, 0, temp, 0, obj.length);
	String temp = str.toString();
	for(int i=0;i<obj.length;i++){
		str = new StringBuilder(temp);
		if(index==(maxSize-1)){
			
			str.append(obj[i]);
			//str.append(obj[i]);
			System.out.println(str);
			if(i ==obj.length-1){
				return temp;
			}
			
		}else{	
			str.append(obj[i]);
			str.append( getComposeString(str,(String[])all[index+1],index+1,maxSize,all));
		}
	}
	return str.toString();
}
}
Inhibitory 2013-03-26
  • 打赏
  • 举报
回复
求组合的算法也能用。 用递归。

62,635

社区成员

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

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