//判断一个正整数是否是质数 public static boolean isPrimeNum(int inputNum) { boolean result = true; if (inputNum !=0 && inputNum != 1) { for (int i = 2; i < inputNum; i++) { if (inputNum % i == 0) { result = false; break; } } } else { result = false; }
if (!DisintegrateEvenNumber.isEven(inputNum)) { result = "Your input is not a Even, please confirm."; } else if(inputNum < 0) { result = "Your input is incorrect, shoube be bigger then 0"; } else { //循环遍历小于inputNum-2的所有数字,找到第一个质数i,并且判断偶数减去质数的值是否是质数,如果是,直接返回。 for (int i = inputNum - 2; i > 0; i--)//排除1 { if (isEven(i)) { continue; } else if (isPrimeNum(i) && isPrimeNum(inputNum - i)) { int tmp = inputNum - i; result = "" + inputNum + " = " + i + " + " + tmp; break; } else { continue; } } } if (result == null) { result = "Your input can not be disintegrated."; }