簡體   English   中英

在名為OddTest的類中編寫一個名為isOdd()的方法,該方法將int作為參數,如果int為奇數,則返回true

[英]Write a method called isOdd() in a class called OddTest, which takes an int as an argument and returns true if the int is odd

我上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;

}

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");
}

您無需分配答案是對還是錯,而是分配這些值。 在Java中檢查相等性是== 順便說一句,我建議只將if (answer)if (!answer)用作布爾值-看起來更簡單,出錯的空間更少:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM