当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:13:00  来源:本站整理

<b>java判断4个10以内的数字,通过四则运算得到24</b>[Java编程]

赞助商链接



  本文“<b>java判断4个10以内的数字,通过四则运算得到24</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

请你用java写一个办法,判断给定的4个数字,每个数值在1~10之间,通过+ - * / 运算,后果为24,每个数字必须利用且只能利用一次.

网友供应的穷举法

public class T {
 int[] can = new int[4];
 public static void main(String[] args) {
  T tf = new T(3, 4, 5, 7);
  System.out.println(tf.getResult());
 }
 public T(int a, int b, int c, int d) {
  can[0] = a;
  can[1] = b;
  can[2] = c;
  can[3] = d;
 }
 public String getResult() {
  double result1 = 0;
  double result2 = 0;
  double result3 = 0;
  for (int i = 0; i < 4; i++) {
   for (int j = 0; j < 4; j++) {
    for (int k = 0; k < 4; k++) {
     if (i != j) {
      result1 = cal(can[i], can[j], k);
      for (int l = 0; l < 4; l++) {
       for (int m = 0; m < 4; m++) {
        if (i != l && j != l) {
         result2 = cal(result1, can[l], m);
         for (int n = 0; n < 4; n++) {
          for (int o = 0; o < 4; o++) {
           if (i != n && j != n && l != n) {
            result3 = cal(result2, can[n], o);
            if (result3 == 24) {
             return result(can[i], k, can[j], m, can[l], o, can[n]);
            }
           }
          }
         }
        }
       }
      }
     }
    }
   }
  }
  return null;
 }
 private String result(int can1, int op1, int can2, int op2, int can3, int op3, int can4) {
  return "" + can1 + convert(op1) + can2 + convert(op2) + can3 + convert(op3) + can4;
 }
 private String convert(int opr) {
  if (opr == 0) {
   return "+";
  } else if (opr == 1) {
   return "-";
  } else if (opr == 2) {
   return "*";
  } else if (opr == 3) {
   return "/";
  }
  return "";
 }
 private double cal(double a, double b, int opr) {
  if (opr == 0) {
   return a + b;
  } else if (opr == 1) {
   return a - b;
  } else if (opr == 2) {
   return a * b;
  } else if (opr == 3) {
   return a / b;
  }
  return 0;
 }
}

运算后果

3*4+5+7


  以上是“<b>java判断4个10以内的数字,通过四则运算得到24</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .