JAVA初学代码问题!

6. 设计名为MyInteger的类表示整数,它包括:
成员变量:value 其数据类型为int(用于存储整数的值);
构造方法:MyInteger(intx),其作用是创建指定int值的MyInteger对象;
成员方法:getInt(),其功能是返回MyInteger对象的值;
成员方法:isEven()、isOdd()和isPrime()方法,如果value的值分别为偶、奇或素数,则相应方法的返回值是true,否则为false;
成员方法:equals(intx),如果对象的值与指定的值相等返回true,否则返回false;
成员方法:parseInt(String x)将数字字符串x转变成int值。
编写程序测试该类中的所有方法。

这是我的代码:
package homework2;
class MyInteger {
int value;
public MyInteger(int x) {
this.value = x;
}
public int getInt() {
return value;
}
public boolean isEven(int value) {
if (value % 2 == 0)
return true;
else
return false;
}
public boolean isOdd(int value) {
if (value % 2 != 0)
return true;
else
return false;
}
public boolean isPrime(int value) {
int i;
for (i = 1; i < value; i++)
if (value % i == 0 && i != value)
return true;
else
return false;
return false;
}
public boolean equals(int x) {
return 2 == x;
}//这个方法不懂得怎么用
}
public class MyIntegerDemo {
public static void man(String[] args) {
MyInteger A = new MyInteger(100);
System.out.print(A.getInt() + "\n" + A.isEven(100) + "\n"
+ A.isOdd(100) + "\n" + A.isPrime(100) + "\n" + A.equals(100));
}
}
主要是不知道boolean方法是怎么返回值的。最后为什么不能输出?

1. value建议这样声明: private int value;
2. isEven()、isOdd()、isPrime() 这三个方法体为甚不判断 this.value,非要再重新传值,这个与设计初衷相悖了吧
3. int类型的值可以直接比较,方法可以这样写:
    public boolean equals(int x) {
        return this.value == x;
    }

追问

不太明白你说的第二点

追答我猜你应该表达的是这样才对:
public boolean isEven() {
    return this.value % 2 == 0;
}

追问

可以私信你吗?我还是有点不懂

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-13
返回布尔值,加toString()转为字符串再试一下。
第2个回答  推荐于2016-02-26
return 2==x .这是2个整型的比较,如果x的值一样返回true.否则false

public boolean isPrime(int value) {
int i;
for (i = 1; i < value; i++)
if (value % i == 0 )
return true;
else
return false;
}
isPrime方法改成这样追问

要在大括号前再加一个return false才不会报错。否则报错。我也不知道是为什么

本回答被提问者采纳
第3个回答  2015-04-13
最后应该能输出true或者false吧追问

一个都输出不了

相似回答