布尔变量

时间:2013-03-15 06:25:54

标签: java boolean

我为三个布尔变量实现了三个方法。我做了一个构造函数并初始化了变量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的输出。

我的布尔方法错了吗?

我是这个网站的新手,所以我很感激您对以后参考的任何反馈。

5 个答案:

答案 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());