2014-02-09 52 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; 
    } 
} 
相關問題