北京移动算准517的程序实现
北京移动算准517的程序实现
操作方法
- 01
1.直接复制粘贴到eclipse 2.修改main方法数组a的数据,为你自己的数据 3.然后执行就行了
- 02
import javax.xml.transform.Result;import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class Main { public static List<String> getOperation(){ List<String> ools=new ArrayList<>(); for (String s1: Arrays.asList(new String("+,-,*,/").split(","))){ for (String s2: Arrays.asList(new String("+,-,*,/").split(","))){ for (String s3: Arrays.asList(new String("+,-,*,/").split(","))){ ools.add(s1+","+s2+","+s3); } } } return ools; } public static Integer getResult(Integer s1,Integer s2,String o){ switch (o){ case "+":return Integer.valueOf(s1)+Integer.valueOf(s2); case "-":return Integer.valueOf(s1)-Integer.valueOf(s2); case "*":return Integer.valueOf(s1)*Integer.valueOf(s2); case "/":return Integer.valueOf(s1)/Integer.valueOf(s2); default:break; } return 0; } public static Boolean isFirst(String oo){ return oo.equals("*")||oo.equals("/"); } public static Integer getSumResult(Integer a[],String b[],Integer m){ if(m==0){ return getResult(a[0],a[1],b[0]); } for(int i=0;i<=m;i++){ if(isFirst(b[i])||!isFirst(b[i])&&!isFirst(b[i+1])){ a[i]=getResult(a[i],a[i+1],b[i]); for(int j=i+1;j<=m;j++){ a[j]=a[j+1]; } for(int k=i;k<m;k++){ b[k]=b[k+1]; } break; } } return getSumResult(a,b,m-1); } public static void main(String[] args) { List<String> list=getOperation(); for(String ss:list){ String b[]=ss.split(","); /** * -------------------------修改数组a的数据,为你自己的数据------------------------------------------------------ */ Integer a[]=new Integer[]{50,10,25,8}; String str=a[0]+b[0]+a[1]+b[1]+a[2]+b[2]+a[3]+"==="; int sum=getSumResult(a,b,2); if(sum==517){ System.out.println(str+=sum); break; } } }}