java编写输入4个数,判断能不能算出24,只能使用int型,并输出相关的表达式。

该博客探讨了如何使用Java在仅限int类型的情况下,解决计算4个数得到24的难题。作者通过举例3、3、8、8,发现由于整数运算的四舍五入导致无法直接得出正确表达式。为了解决精度问题,文章引入了BigDecimal类,利用其特性在处理循环小数时保留特定位数,从而找到解决方案。
摘要由CSDN通过智能技术生成

这个问题的难点在只能使用int型来储存数据,当用3、3、8、8来测试的时候刚开始是找不到式子但8/(3-8/3)=24,所以就找了很久终于发现原来是在运算3-8/3的时候进行了四舍五入所以根据数据精度问题使用了BigDecimal类在储存循环小数的时候截取小数点后几位来保留数据。

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;

public class one {
private static HashSet<String>set=new HashSet<String>();
	public static void main(String[] args) {
		int x=0,y=0,m=0,n=0;
		@SuppressWarnings("resource")
		Scanner input=new Scanner(System.in);
		System.out.println("请输入4个数字:");
			x=input.nextInt();
			y=input.nextInt();
			m=input.nextInt();
			n=input.nextInt();	
		System.out.println(x+" "+y+" "+m+" "n);		
	int[]nums={x,y,m,n};
	total(nums);
	print(set);
}
public static void total(int[]nums) {
	Arrays.sort(nums);
	int count=equ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值