在java中返回布尔值?

时间:2014-12-16 06:22:59

标签: java boolean return

我在这个问题上需要帮助。

“在ChkNum类中,方法inEven()返回它传递的值” 是Even.It返回false是奇数。因此isEven()的返回类型为boolean。“

下面这些行也无法更改。

if(e.inEven(10))System.out.println("10 is even");

if(e.inEven(9))System.out.println("9 is even");

if(e.inEven(8))System.out.println("8 is even");"

我是java的初学者。 我尝试像下面的程序一样完成这个问题。无论如何,它不起作用。=(  我做错了什么?

public class ChkNum{

    boolean inEven=true;

    public boolean inEven(int o)
    {
        if ((o%2)==0)
        {
            inEven= true;
        }
        else
        {
            inEven = false;
        }
        return inEven;
    }

}

class main{
    public static void main(String args[])
    {
        ChkNum e=new ChkNum();

        if(e.inEven(10))System.out.println("10 is even");
        if(e.inEven(9))System.out.println("9 is even");
        if(e.inEven(8))System.out.println("8 is even");


    }
}

7 个答案:

答案 0 :(得分:6)

如果你缩进代码,你会发现问题:

public boolean inEven(int o)
{
    if ((o%2)==0) { 
        inEven = true;
    }  else  { 
        inEven = false;
    }
    return inEven;  
       } // remove this
    ; // remove this
}

使inEven成为局部变量(即在inEven方法中声明它)也更有意义。

答案 1 :(得分:3)

       public class ChkNum {
            public boolean inEven(int o) {   
                   return o%2 ==0;
            }
       }

答案 2 :(得分:3)

没有任何特定方法可以返回布尔值,您可以通过相同的方式返回任何类型

<强> 1.Boolean

public boolean inEven(int o)
{
    if ((o%2)==0) { 
        inEven = true;
    }  else  { 
        inEven = false;
    }
    return inEven;  

}

<强> 2.Integer

public int inEven(int o)
{
    if ((o%2)==0) { 
        inEven = 1;
    }  else  { 
        inEven = 0;
    }
    return inEven;  

}

String,Double等相同,您可以返回任何类型的值。

答案 3 :(得分:1)

试试这个

public boolean inEven(int o)
{   
     if ((o%2)==0) { inEven = true;} 
     else  
     { inEven = false;}

     return inEven;  

 }

答案 4 :(得分:1)

你可以试试这个 -

public boolean inEven(int o)
{   
    if ((o%2)==0) 
   { 
    inEven = true;
   } 
    else  
    { 
      inEven = false;}
    }
   return inEven; 
}

答案 5 :(得分:1)

你的代码缩进很糟糕为什么你不能让它变得简单明了,你有时间成为一个专业人士并且写作风格。

这就是你的inEven功能..

public boolean inEven(int o)
{   
    if ((o%2)==0) { inEven = true;} 
    else  
    { inEven = false;}
        return inEven;  
     } // <- What is this doing
  ; // <-What is this doing
}

应该像:

  public boolean inEven(int o)
    {   
        if ((o%2)==0)
        { 
          inEven = true;
        } 
        else  
        { 
           inEven = false;
        }
            return inEven;  
    }

答案 6 :(得分:0)

虽然这些答案中的一些确实有用,但可以简化代码:

public class ChkNum {

     //boolean inEven=true;

     public boolean inEven(int o) {

        //if ((o%2)==0) {
        //    inEven= true;
        //} else {
        //    inEven = false;
        //}
        //return inEven;

        // replace the above with:
        return o % 2 == 0;
    }
}

这将使代码更加简洁和可读。它还消除了对全局变量 inEven 的需要。布尔表达式已经返回了布尔值,因此您可以简单地返回它。

这是Test类的完整性(保持不变):

public class Test {
    public static void main (String args[]) {
        ChkNum e = new ChkNum();
        if(e.inEven(10))System.out.println("10 is even");
        if(e.inEven(9))System.out.println("9 is even");
        if(e.inEven(8))System.out.println("8 is even");     
    }
}