2014-02-09 27 views
-6

给定两个数字,返回true,如果其中任何一个划分等,否则返回false给定两个数字,返回true,如果其中任何一个划分等,否则返回false

public class DividesAB { 

static int testcase11 = 208; 
static int testcase12 = 7; 
boolean aDivisblebyb, bDivisblebya, answer; 

    public static void main(String args[]){ 
     DividesAB testInstance = new DividesAB(); 
     boolean result = testInstance.divides(testcase11,testcase12); 
     System.out.println(result); 
    } 

    //write your code here 
    public boolean divides(int a, int b){ 
     boolean aDivisiblebyb = a%b == 0; 
     boolean bdivisiblebya = b%a == 0; 
     boolean answer = aDivisiblebyb||bDivisiblebya; 
     return answer; 
    } 
} 

我已经越来越错误如cannot find symbol

+0

如果你需要帮助,你应该更好地解释你的问题。最好解释你的逻辑和你所尝试过的。 – dc5553

+2

...或者只是学习如何阅读和理解编译器错误(告诉你包含错误的确切行号)。 – jahroy

回答

0

变量名称不正确。

aDivisblebyb和你正在使用aDivisiblebyb

因此改变变量名,它应该工作。

+0

对不起,这是一个拼写错误,但上述程序不适用于值a = 1296,b = 7776。它适用于某些值,但不适用于某些 – user3289229

+0

适合我的作品。我只是试了一下。 –

1

你有混乱的代码扔在一起,有一半是不需要的。要查找符号是否未定义,请查看您的IDE中代码的投诉位置,并查看该变量不在范围内的原因。

如果你只写了你需要的代码,那么出错的可能性就会降低,并且更容易看出错误的位置。

这是我会怎么写呢

public class DividesAB { 
    public static void main(String[] args) { 
     int a = 208, b = 7; 
     System.out.printf("a: %,d divides b: %,d is %s%n", divides(a, b)); 
    } 

    //write your code here 
    public static boolean divides(int a, int b){ 
     return a % b == 0 || b % a == 0; 
    } 
} 
0

首先,看看从你的编译器“无法找到符号”错误。它应该告诉你到底发生什么错误,并且很可能是发生的确切错误。根据你的情况,它会指向:

boolean answer = aDivisiblebyb||bDivisiblebya; 

在你的宣言,拼写不同(aDivisblebyb VS aDivisiblebyb),所以编译器不明白的符号aDivisiblebyb是。 aDivisiblebya也一样。因此错误。

附注:你已经在两个地方声明了boolean aDivisblebybboolean bDivisblebya。在您发布的代码中,不需要在divides方法之外访问这些布尔值(与answer布尔值相同)。所以,要清理它一点:

public class DividesAB { 

    static int testcase11 = 208; 
    static int testcase12 = 7; 

    public static void main(String args[]){ 
     DividesAB testInstance = new DividesAB(); 
     boolean result = testInstance.divides(testcase11,testcase12); 
     System.out.println(result); 
    } 

    //write your code here 
    public boolean divides(int a, int b){ 
     boolean aDivisiblebyb = a%b == 0; 
     boolean bDivisiblebya = b%a == 0; 
     boolean answer = aDivisiblebyb||bDivisiblebya; 
     return answer; 
    } 
} 
相关问题