java---24点游戏 :从扑克中每次取出4张牌,使用加减乘除,第一个能得出24者为赢。

题目:
编写程序实现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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值