我应该Math.round(1/2)在Java中声明为int还是double?如果两者都很好,哪个更正确?
另外,为什么Eclipse告诉我Math.round(1/2)= 0.0,而Math.round(0.5)= 1.0?
任何帮助,将不胜感激!
我正在尝试使用此代码来测试示例代码是否是Java中的有效信用卡号(使用Luhn算法).我哪里做错了?它包含16个一位数字的数组.任何帮助将非常感激.谢谢!
private static boolean isValidCC(int[] number) {
int sum = 0;
boolean alternateNum = true;
for (int i = number.length-1; i>=0; i--) {
int n = number[i];
if (alternateNum) {
n *= 2;
if (n > 9) {
n = (n % 10) + 1;
}
}
sum += n;
alternateNum = !alternateNum;
}
System.out.println(sum);
return (sum % 10 == 0);
}
Run Code Online (Sandbox Code Playgroud)