我为三个布尔变量实现了三个方法。我做了一个构造函数并初始化了变量addSpaces = 10;
我的类和main方法在下面
public class Test{
public int addNum;
boolean isNeg;
boolean isPos;
public Test(){ //constructor
addNum = 10;
}
public boolean isNeg(){ //if addNum= -10, return isNeg true
if(addNum == -10)
return true;
else
return false;
}
public boolean isPos(){ //if addNum= 10, return isPostrue
if(addNum== 10)
return true;
else
return false;
}
public static void main(String[] arg){
Test s = new Test();
System.out.println(s.isPos);
System.out.println(s.isNeg);
}
}
即使我在构造函数中初始化了addNum = 10
,使得is.Pos为true,is.Pos = false
的输出。
我的布尔方法错了吗?
我是这个网站的新手,所以我很感激您对以后参考的任何反馈。
答案 0 :(得分:3)
public Cell(){
不是构造函数。构造函数为public Test(){
。
什么是变量isChute
。
我相信
public boolean isNeg(){ //if addNum= -10, return isNeg true
if(addNum == -10)
return isChute;
else
return false;
}
应该是
public boolean isNeg(){ //if addNum= -10, return isNeg true
if(addNum == -10)
return true;
else
return false;
}
答案 1 :(得分:0)
你将isPos作为变量和函数。你应该调用s.isPos()而不是s.isPos,默认情况下为false
答案 2 :(得分:0)
public Cell(){
不是Test类的构造函数,您的构造函数名称应与类名相同。我想知道你的代码是如何编写的?
将其更改为:
public Test(){
此外, isPos 是您班级的member variable
,它是一个布尔值,默认值为false。
我假设你需要调用isPos()
和isNeg
方法,这些方法在条件测试中返回一个布尔值。
或者您可以更改方法,以便更改班级的状态。
public boolean isNeg(){ //if addNum= -10, return isNeg true
if(addNum == -10)
isNeg=true;
return isNeg;
else
return isNeg;
}
public boolean isPos(){ //if addNum= 10, return isPostrue
if(addNum== 10)
isPos=true;
return isPos;
else
return isPos;
}
然而,将变量命名为与方法相同是一个非常糟糕的主意。
答案 3 :(得分:0)
您的代码
public Cell(){ addNum = 10;}
is not a constructor,hence the initialization is not happening.
将构造函数写为
public Test(){addNum = 10;}
答案 4 :(得分:0)
默认情况下,布尔值为false。你试着把这个变量称为而不是mehod。所以写s.isPos()
System.out.println(s.isPos());