繁体   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