题目:
编写程序实现24点游戏。
游戏规则:
从扑克中每次取出4张牌。使用加减乘除,第一个能得出24者为赢。(其中,J代表11,Q代表12,K代表13,A代表1)。
源代码如下:
import java.util.Random;
class Calculate{
int a,b,c,d;
//构造函数
public Calculate(int a,int b,int c,int d) {
this.a = a;
this.b = b;
this.c = c;
this.d = d;
}
//穷举法列出四个数所有可能进行的四则运算
void judgement() {
//3+
if (a+b+c+d==24)
System.out.println(a+"+"+b+"+"+c+"+"+d+"=24");
//2+,1-
if (a+b+c-d==24)
System.out.println(a+"+"+b+"+"+c+"-"+d+"=24");
//1+,2-
if(a+b-c-d==24)
System.out.println(a+"+"+b+"-"+c+"-"+d+"=24");
//0+,3-不存在
//1*,0/
if (a*b+c+d==24)
System.out.println(a+"*"+b+"+"+c+"+"+d+"=24");
if (a*b+c-d==24)
System.out.println(a+"*"+b+"+"+c+"-"+d+"=24");
if (a*b-c-d==24)
System.out.println(a+"*"+b+"-"+c+"-"+d+"=24");
if ((a+b)*c+d==24)
System.out.println("("+a+"+"+b+")"+"*"+c+"+"+d+"=24");
if ((a+b)*c-d==24)
System.out.println("("+a+"+"+b+")"+"*"+c+"-"+d+"=24");
if ((a-b)*c+d==24)
System.out.println("("+a+"-"+b+")"+"*"+c+"+"+d+"=24");
if ((a-b)*c-d==24)
System.out.println("("+a+"-"+b+")"+"*"+c+"-"+d+"=24");
if ((a+b)*(c+d)==24)
System.out.println("("+a+"+"+b+")*("+c+"+"+d+")=24");
if ((a+b)*(c-d)==24)
System.out.println("("+a+"+"+b+")*("+c+"-"+d+")=24");
if ((a-b)*(c-d)==24)
System.out.println("("+a+"-"+b+")*("+c+"-"+d+")=24");
if ((a+b+c)*d==24)
System.out.println("("+a+"+"+b+"+"+c+")*"+d+"=24");
if ((a+b-c)*d==24)
System.out.println("("+a+"+"+b+"-"+c+")*"+d+"=24");
if ((a-b-c)*d==24)
System.out