给定两个数字,如果其中任何一个除以另一个,则返回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 :(得分: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;
}
}
答案 1 :(得分:0)
变量名称不正确。
aDivisblebyb,你正在使用aDivisiblebyb
因此,更改变量名称应该可以正常工作。
答案 2 :(得分:0)
首先,查看编译器中的“找不到符号”错误。它应该告诉您错误发生在哪一行,并且很可能是正在发生的确切错误。在您的情况下,它将指向:
boolean answer = aDivisiblebyb||bDivisiblebya;
在您的声明中,拼写不同(aDivisblebyb
vs aDivisiblebyb
),因此编译器无法理解符号aDivisiblebyb
是什么。同样适用于aDivisiblebya
。因此错误。
附注:您已在两个地方声明boolean aDivisblebyb
和boolean 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;
}
}