嘿那些将我链接到本网站上其他主题的人。我读过但我还是不明白:(除了我遇到的静态问题之外,其他一切都是正确的吗?
这是作业
这是代码
public class MyInteger {
private int value=0;
public int getValue(){
return value;
}
public boolean isEven(){
if(value%2==0);
return true;
}
public boolean isOdd(){
if (value%2==1);
return true;
}
public boolean isPrime(){
for (int i = 2; i<value-1; i++)
if (value % i == 0)
return false;
return true;
}
public static boolean isEven(int x){
if (isEven(x))
return true;
return false;
}
public static boolean isOdd(int x){
if (isOdd(x))
return true;
return false;
}
public static boolean isPrime(int x){
if (isPrime(x))
return true;
return false;
}
public static boolean isPrime(MyInteger x){
if (isPrime(x))
return true;
return false;
}
public static boolean isEven(MyInteger x){
if (isEven(x))
return true;
return false;
}
public static boolean isOdd(MyInteger x){
if (isOdd(x))
return true;
return false;
}
public boolean equals (int x){
int integer;
MyInteger y = new MyInteger(integer);
if (x==MyInteger.getValue())
return true;
return false;
}
public boolean equals (MyInteger x){
int integer;
MyInteger y = new MyInteger(integer);
if (x==MyInteger.getValue())
return true;
return false;
}
public static int parseInt (String str){
int answer = 0, factor = 1;
for (int i = str.length()-1; i >= 0; i--) {
answer += (str.charAt(i) - '0') * factor;
factor *= 10;
}
return answer;
}
public MyInteger(int integer){
}
}
现在我已经知道这段代码不会编译,因为在两个equals方法中我都得到if()行上的错误“无法对非静态方法进行静态引用”。任何人都可以告诉我为什么会这样,它意味着什么?我试过谷歌搜索但我真的不明白。