2013-08-30 95 views
0

以下是我有:除数逻辑不工作

public static boolean isDivisor(int num, int Divisor) { 
    int remainder = num%Divisor; 
    if (remainder >= 1) { 
     return false; 
    } else { 
     return true; 
    } 
} 

基本上,发生了什么是它的读取两个值,获得剩余并检查它是否是一个约数。我遇到的问题是,即使数字不可分(即5,2不是除数),它总是返回为真。我很困惑,为什么这不起作用。思考?

+0

这是在Java吗? – pamphlet

+0

代码工作...刚刚测试isDivisor(5,2)(返回false)和isDivisor(10,5)(返回true) – gtgaxiola

+0

我拿了你的方法在5和2中传递的副本,并返回假的预期(使用C#) –

回答

1

您的代码是正确的。但是,这是更好的(C#版本,但for Java是几乎相同):

public static bool isDivisor(int num, int Divisor) { 
    return num % Divisor == 0; 
} 

此外,变量名称应该以小写字母开头:(查看评论1/2)

public static bool isDivisor(int num, int divisor) { 
    return num % divisor == 0; 
} 

而且因为这

public static bool IsDivisor(int num, int divisor) { 
    return num % divisor == 0; 
} 

的最后一个例子只是为了完整起见,可以忽略它,因为你在java的写作,因此驼峰是完美的:在C#代码的方法名称应以大写字母写。

+3

如果我们要提供样式建议作为答案,我们不应该在'Divisor'中使用小写的“d”吗? – pamphlet

+0

你是对的(+1),但我只是显示了if/then/else的有用性:) – Alberto

+0

只是再次测试它,仍然没有与5,2的情况下工作(返回true,但应该是false),我在我的笔记本电脑上测试它,它具有NetBeans 7.3.1和我的计算机与Netbeans 7.0.1 ...我可以告诉代码是正确的,但我似乎无法得到它的工作.. – user2733440