java面试题 给出一个由123456组成的六位数,要求:4不能在第三位,2不能与5相邻,如123456,234561,写出所有的组合,用java编写一个程序 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://joezheng123.javaeye.com/blog/353081public class test1 { private int[] numbers = new int[] { 1, 2, 3, 3, 4, 5 }; public int n; private String lastResult = ""; private boolean validate(String s) { if (s.compareTo(lastResult) <= 0) return false; if (s.charAt(2) == '4') return false; if (s.indexOf("35") >= 0 || s.indexOf("53") >= 0) return false; return true; } public void list(String index, String result) { for (int i = 0; i < numbers.length; i++) { if (index.indexOf(i + 48) < 0) { String s = result + String.valueOf(numbers[i]); if (s.length() == numbers.length) { if (validate(s)) { System.out.println(s); lastResult = s; n++; } break; } list(index + String.valueOf(i), s); } } } public static void main(String[] args) { test1 t = new test1(); t.list("", ""); System.out.println("总数:" + t.n); } } 动态获取当前运行的JAR文件名 adempiere汉化问题求助 TimeStamp 和String 问题 调查一下Java最大能支持多少内存 八皇后动态演示问题?急啊 String 类型的可以和int 的相加? 从命令行运行和从脚本运行结果不一致? 如何在java中,而不是jsp中得到当前的工作目录? 导入excel,批量将数据插入数据库的问题 求救!!java语法的小问题!! 请教一个正则表达式的写法? 程 异常的问题
{
private int[] numbers = new int[]
{ 1, 2, 3, 3, 4, 5 };
public int n;
private String lastResult = "";
private boolean validate(String s)
{
if (s.compareTo(lastResult) <= 0)
return false;
if (s.charAt(2) == '4')
return false;
if (s.indexOf("35") >= 0 || s.indexOf("53") >= 0)
return false;
return true;
}
public void list(String index, String result)
{
for (int i = 0; i < numbers.length; i++)
{
if (index.indexOf(i + 48) < 0)
{
String s = result + String.valueOf(numbers[i]);
if (s.length() == numbers.length)
{
if (validate(s))
{
System.out.println(s);
lastResult = s;
n++;
}
break;
}
list(index + String.valueOf(i), s);
}
}
}
public static void main(String[] args)
{
test1 t = new test1();
t.list("", "");
System.out.println("总数:" + t.n);
}
}