日期:2014-05-20 浏览次数:20620 次
public class Test { public static void main(String args[]){ String str="123456789"; char[] chars = str.toCharArray(); int[] array = new int[8]; StringBuffer sb = new StringBuffer(); while(array[0]<3){ sb.append(chars[0]); for(int k=0;k<chars.length-1;k++){ if(array[k]==1){ sb.append("+"); } else if(array[k]==2){ sb.append("-"); } sb.append(chars[k+1]); } if(parse(sb.toString())){ System.out.println(sb.toString()); } sb.setLength(0); array[7]++; for(int i=7;i>0;i--){ if(array[i]==3){ array[i]=0; array[i-1]++; } } } } private static boolean parse(String str) { String[] str1 = str.split("[\\+]|[-]"); String str2 = str.replaceAll("\\d*",""); int sum = 0; sum = Integer.parseInt(str1[0]); for(int i=0;i<str1.length-1;i++){ switch(str2.charAt(i)){ case '+': sum+=Integer.parseInt(str1[i+1]); break; case '-': sum -=Integer.parseInt(str1[i+1]); break; } } if(sum==110){ return true; } return false; } }