类似图片上的,很多查询条件,很多组合,请大神帮忙写一个排列组合程序,将查询条件的可能组合打印出来,谢谢了,分不多,请谅解!java,排列组合
解决方案 »
- 如何在外部修改web项目的context-root(web发布名称)
- SSH整合出现的问题,大神在哪里!!!!!!!!!!!!!!!!!!!!!!!!!!!
- tomcat被限制,求助
- 为什么在servlet中用Runtime类没有效果
- 问初级的JAVABEAN问题
- 一个列表,每行都有一个打开新页面的链接,每点一个都打开一个页面窗口,这样多点几个链接就会弹出N多个窗口,好烦,可不可以同时只保留一个打
- Tomcat的中文文件名问题~~Help~~
- jboss-3.0.4_tomcat-4.1.12中servlet问题!超级难解决!高手请进!救命呀!来者有份!解决再加分!
- 自己要建一个网站要花多少钱?
- 有没有JSP读文件的例子?
- 请问Struts2和struts1,学习哪个较好?
- 为什么我一请求servlet就弹出下载页面
这个没什么好办法
4层for循环
至于多选的那个,就是C51+C52+C53+C54+C55种组合。求出该组合的所有可能为:http://blog.csdn.net/rzleilei/article/details/10461653
Cmn算法。
String sql=null;
if(品牌!=不限)
{
flag="true";
sql="select * from 表名 where 品牌=具体选的品牌";
}
二、if(类别!=不限)
{
if(flag=="true")
{
sql=" and 类别=具体选择的类别";
}
else
{
sql="select * from 表名 where 类别=具体选择的类别";
}
}
三、if(蓝帽!=不限)
{
...//类似第二步
}
四、if(产地!=不限)
{
...//类似第二步
}
若不符合题意,请补充说明!
String[] array1 = new String[]{"汤……", "自……", "养……", "G……"};
List<List<String>> l1 = sub(array1);
String[] array2 = new String[]{"复……", "维……"};
List<List<String>> l2 = sub(array2);
String[] array3 = new String[]{"保……", "营……"};
String[] array4 = new String[]{"国产", "进口"};
for (int i = 0; i < array4.length; i++) {
for (int j = 0; j < array3.length; j++) {
for (int k = 0; k < l2.size(); k++) {
for (int l = 0; l < l1.size(); l++) {
System.out.println("p1 in " + l1.get(l));
System.out.println("p2 in " + l2.get(k));
System.out.println("p3=" + array3[j]);
System.out.println("p4=" + array4[i]);
System.out.println("******************");
}
}
}
}
} public static List<List<String>> sub(String[] array) {
List<List<String>> list = new ArrayList<List<String>>();
int size = (int) Math.pow(2, array.length);
for (int i = 1; i < size; i++) {
List<String> item = new ArrayList<String>();
String str = String.format("%0" + array.length + "d", Integer.parseInt(Integer.toBinaryString(i)));
for (int j = 0; j < array.length; j++) {
if (str.charAt(j) == '1') {
item.add(array[j]);
}
}
list.add(item);
}
return list;
}
一、String flag="false";
String sql=null;
if(品牌!=不限)
{
flag="true";
sql="select * from 表名 where 品牌=具体选的品牌";
}
二、if(类别!=不限)
{
if(flag=="true")
{
sql=" and 类别=具体选择的类别";
}
else
{
flag="true" //标识设为真,
sql="select * from 表名 where 类别=具体选择的类别";
}
}
三、if(蓝帽!=不限)
{
...//类似第二步
}
四、if(产地!=不限)
{
...//类似第二步
}
若不符合题意,请补充说明!