logo资料库

二十四点详解.doc

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
package com; import java.util.Scanner; public class TwentyFour { int[] can = new int[4]; public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("请输入 0--9 之间的一个不同整数:"); int a1 = input.nextInt(); System.out.print("请输入 0--9 之间的一个不同整数:"); int a2 = input.nextInt(); System.out.print("请输入 0--9 之间的一个不同整数:"); int a3 = input.nextInt(); System.out.print("请输入 0--9 之间的一个不同整数:"); int a4 = input.nextInt(); for(int i=0;i<80;i++){ System.out.print("*"); } System.out.println(); System.out.println("结果如下列表:"); System.out.println(); TwentyFour tf = new TwentyFour(a1, a2, a3, a4); tf.getResult(); } public TwentyFour(int a, int b, int c, int d) { can[0] = a; can[1] = b; can[2] = c; can[3] = d; } public void getResult() { double result1 = 0; double result2 = 0; double result3 = 0; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { for (int k = 0; k < 4; k++) { if (i != j) { result1 = cal(can[i], can[j], k);
for (int l = 0; l < 4; l++) { for (int m = 0; m < 4; m++) { if (i != l && j != l) { result2 = cal(result1, can[l], m); for (int n = 0; n < 4; n++) { for (int o = 0; o < 4; o++) { if (i != n && j != n && l != n) { result3 = cal(result2, can[n],o); if (result3 == 24) { System.out.println(result3+ "="+ result(can[i], k,can[j], m,can[l], o,can[n])); } } } } } } } } } } } } private String result(int can1, int op1, int can2, int op2, int can3, int op3, int can4) { return "" + "[" + "(" + can1 + convert(op1) + can2 + ")" + convert(op2) + can3 + "]" + convert(op3) + can4; } private String convert(int opr) { if (opr == 0) { return "+"; } else if (opr == 1) { return "-"; } else if (opr == 2) { return "*"; } else if (opr == 3) { return "/"; } return "";
} private double cal(double a, double b, int opr) { if (opr == 0) { return a + b; } else if (opr == 1) { return a - b; } else if (opr == 2) { return a * b; } else if (opr == 3) { return a / b; } return 0; } }
分享到:
收藏