在名为OddTest的类中编写一个名为isOdd()的方法,该类将int作为参数,如果int为奇数则返回true

时间:2016-09-10 00:30:33

标签: java

我正处于Java的第一年,并且使用布尔方法测试是偶数还是奇数。我有大部分代码,但是当我输入一个奇数时,它会将其返回为偶数。我的教授给了我们方法的签名:public static boolean isOdd(int number)

package homeWork1;
import java.util.Scanner;

public class OddTest {

   public static void main(String args[])
   {
      int number;
      System.out.println("Enter an integer to check if it is odd or even: ");
      Scanner input = new Scanner(System.in);
      number = input.nextInt();
      isOdd(number);

      boolean answer=isOdd(number);
      if (answer=true)
      {
          System.out.println("EVEN");
      }

      if (answer=false)
      {
          System.out.println("ODD");
      }



   }
   public static boolean isOdd(int number)
   { 
    if(number % 2 == 0)
   {
        return true;
    }
    return false;

}

2 个答案:

答案 0 :(得分:4)

if (number % 2 == 0)表示该数字可以被2整除,因此它是偶数。

您希望将条件更改为:

if (number % 2 != 0)

并且,由于条件语句是布尔值,您可以进一步简化它,如:

public static boolean isOdd(int number)
    return number % 2 != 0;
}

此外,您在使用方法的代码中出错。

  boolean answer=isOdd(number);
  if (answer=true)
  {
      System.out.println("ODD");
  }

  if (answer=false)
  {
      System.out.println("EVEN");
  }

在这里,answer=true是一项任务,而非比较。你可以写下来解决它:

if (isOdd(number))
{
    System.out.println("ODD");
}

else
{
    System.out.println("EVEN");
}

答案 1 :(得分:0)

您可以分配这些值,而不是检查 answer 是真还是假。在Java中检查相等性是==。顺便说一句,我建议只使用if (answer)if (!answer)来表示布尔 - 看起来更简单,更容易出错:)