永发信息网

一个java面试题:计算24点游戏 编程

答案:1  悬赏:0  手机版
解决时间 2021-11-13 20:07
一个java面试题:计算24点游戏 编程
最佳答案
import java.util.Random;

public class test2
{
public static void main(String[] args)
{
Random random = new Random();
int a[] = new int[4];
for(int i=0; i<4; i++)
{
a[i] = random.nextInt(13)+1;
}
for(int j=0; j<4; j++)
{
System.out.println("第" + j +"个数:" + a[j]);
}
Calcula(a);

}

public static void Calcula(int[] a)
{
int add, sub, multi, div;
add = 0;
sub = 0;
multi = 0;
div = 0;
for(int i=0; i<4; i++)
{
add = add + a[i];
sub = sub - a[i];
multi = multi * a[i];
div = div/a[i];
}
if(add==24)
{
System.out.println(a[0] + "+" + a[1] + "+" + a[2] + "+" + a[3]
+ "=" + add);

}
else if(sub==24)
{
System.out.println(a[0] + "-" + a[1] + "-" + a[2] + "-" + a[3]
+ "=" + sub);
}
else if(multi==24)
{
System.out.println(a[0] + "*" + a[1] + "*" + a[2] + "*" + a[3]
+ "=" + multi);
}
else if(div==24)
{
System.out.println(a[0] + "÷" + a[1] + "÷" + a[2] + "÷" + a[3]
+ "=" + div);
}
else
{
System.out.println("对不起,没有实现24点的数");
}
}
}

已编译通过~追问编译是没问题,逻辑上是不是有点不严谨?我刚执行了一下,其中一个输出是:
第0个数:6
第1个数:11
第2个数:1
第3个数:3
对不起,没有实现24点的数

6*(11+1)/3
可能是我没描述清楚。如果还可以有括号呢?追答唉~写了半天没写出来,不想写了,跟你说一下我的思路吧,希望对你有所帮助
假如这四个数是A,B,C,D,这四个数取出来之后就是不变的了,变的只有操作符,先假设前三个数都是加法,最后一个数会有加减乘除四个情况,然后假设B和C之间是减法,D又会有加减乘除四个情况,以此类推。等把所有的推一遍,再把A和B之间的运算符改成减法,然后按照上面的方法再推。但不能一一列举,因为太庞大了,十分麻烦。所以你得想个办法找个东西把操作符放进去,然后用for循环遍历,for循环里面还要嵌套for循环,一直嵌套到C和D的加减乘除运算。
我以上说的这些是不加括号的情况,加括号的话我认为需要把上面的代码复制三次,因为括号的位置有三个,A和B,B和C,C和D,所以需要在for循环里面在不同的地方添加括号。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
惠普227打印机加什么粉
DNF阿修罗所谓的鬼门格挡是详细怎么样
1969年农历8月28日中午11点生,男,算一下命
求科普,为什么说迷路姬是钓神
三全鲜食(北京)科技股份有限公司怎么样?
罗庄区人民医院停车场地址在什么地方,我要处
当初去寺庙许愿,愿望成真了,我却忘了当初答应
想去山东玩,一共4天。第一天早晨到济南,然
三线电线与双线电线怎么接
描写宝塔的诗句有哪些?
有国企带人出国的吗?
运城常平关帝庙怎么走
如果说孩子中考差4分没进去榆树市实验高中怎
在线等,图线分析的(外延线)和(拐点线)怎
求个MC34063降压可调完整电路
推荐资讯
社保扣8元是什么意思
重汽四气门柴油机、外观怎样区分290和336
PA66美国英威达 白色透明的纯树脂有哪些型号
江西宜春樟树电信手机打长途前面加什么数字
口十△=72,△=口十口十口,那么口=几,△=几
求完整版绯雪倾城TXT小说全集,谢谢
我想加入你们,怎么加
Js脚本程序与IE浏览器不兼容,请问如何修改Js
一,二年级写话快放暑假了,你最想做什么
一直梦见类似的梦,为什么, 什么意思?
IP网络消防采集器也叫啥?
110开锁多少钱一次
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?