簡體   English   中英

如何在任何數字之間找到偶數和奇數?

[英]how can i find even and odd number between any number?

我正在制作一個程序作為我在 java 中學習的培訓,它可以查看用戶輸入的任何數字之間的偶數和奇數,如果我在開始時輸入偶數,它會顯示消息的問題

你沒有輸入偶數

如果用戶在開始時輸入了奇數,我只是希望他首先查看此消息

public static void main(String[] args) {
  isevennumber(1, 5);
}

public static void isevennumber(int startwith, int endwith) {

    for (int i = startwith; i <= endwith; i++) {

        if (i % 2 == 0) {
            System.out.println("you have entered an even number which is " + i);

        } else  {
            System.out.println("you haven't entered an even number");

        }
    }

}

輸出是

you haven't entered an even number you have entered an even number which is 2 you haven't entered an even number you have entered an even number which is 4 you haven't entered an even number

抱歉有任何錯誤,這是我在這里的第一篇文章

這里的問題是,在循環中,每次輸入的數字都不是奇數時,它將打印出來,而您沒有輸入偶數。

您可以這樣嘗試:

  public static void main(String[] args) {
    isevennumber(1, 5);
  }

  public static void isevennumber(int startwith, int endwith) {
      List<Integer> evenNumbers = new ArrayList();
      for (int i = startwith; i <= endwith; i++) {
          if (i % 2 == 0) {
              evenNumbers.add(i);
          }
      }

      if (evenNumbers.isEmpty()) {
          System.out.println("you haven't entered an even number");
          return;
      }
      System.out.println("you have entered the following even numbers " + evenNumbers);
  }

這將打印出:

 you have entered the following even numbers [2, 4]

if要檢查這是否是第一次迭代,只需再添加一個:

public static void isevennumber(int startwith, int endwith) {
    for (int i = startwith; i <= endwith; i++) {
        if (i % 2 == 0)
            System.out.println("you have entered an even number which is " + i);
        else if (i == startwith)
            System.out.println("you haven't entered an even number");
    }
}

您錯過了一個步驟,這里的問題是每次循環中數字不是奇數時,它都會打印您沒有輸入偶數。

以下是適合您的正確解決方案。

    public static void isevennumber(int startwith, int endwith) {
        for (int i = startwith; i <= endwith; i++) 
        {
            if (i % 2 == 0)
            {
            System.out.println("you have entered an even number which is " + i);
            }            
            else if (i == startwith)
            {
                System.out.println("you haven't entered an even number");
            }
        }
    }

暫無
暫無

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

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