这个问题的难点在只能使用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