java - 如何在java中编写偶数或奇数程序?

标签 java for-loop if-statement

我的指示是“编写一个程序,提示用户输入一个数字,然后从 1 到该数字进行递增计数('for' 循环)并打印该循环数是偶数还是奇数(这将需要一个 'if -else' 循环内的结构)。”所以它需要列出: 1 是奇数 2 是偶数 3 是奇数...

public class AssmtEvenOrOddJulianP {
public static void main(String[] args) {
  //variable
  int num = 0;

  //input
  System.out.print("\nEnter a number less than 100: ");
  num = Expo.enterInt();

  //output
  for (int i = 1; i <= num; i++)
     if ((num % 2) == 0)
     System.out.print("\n" + i + " Is Even");       
     else if ((num % 2) >= 0)
     System.out.print("\n" + i + " Is Odd");

现在如果我输入 3 它将打印: 1 是奇数 2 是奇数 3 是奇数

最佳答案

小错误:

您应该计算 i 的余数乘以 2,而不是 num 2.

始终包装forif/else花括号中的 block :

for (int i = 1; i <= num; i++) {
    if ((i % 2) == 0) {
        System.out.print("\n" + i + " Is Even");
    } else if ((num % 2) >= 0) {
        System.out.print("\n" + i + " Is Odd");
    }
}

避免使用多余的括号:

for (int i = 1; i <= num; i++) {
    if (i % 2 == 0) {
        System.out.print("\n" + i + " Is Even");
    } else if (num % 2 >= 0) {
        System.out.print("\n" + i + " Is Odd");
    }
}

else if条件有一个小错误,现在“无法访问”,但可能会在未来造成痛苦

num % 2 >= 0应该是 i % 2 < 0 || i % 2 > 0

else if条件可以简化为else :

for (int i = 1; i <= num; i++) {
    if (i % 2 == 0) {
        System.out.print("\n" + i + " Is Even");
    } else {
        System.out.print("\n" + i + " Is Odd");
    }
}

最终结果:

还有一些其他的小改进:

public class EvenOdd {
    public static void main(String[] args) {
        // input
        System.out.print("\nEnter a number less than 100: ");

        // variable
        int num = Expo.enterInt();

        System.out.println();

        // output
        for (int i = 1; i <= num; i++) {
            if (i % 2 == 0) {
                System.out.println(i + " Is Even");
            } else {
                System.out.println(i + " Is Odd");
            }
        }
    }
}

关于java - 如何在java中编写偶数或奇数程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56712464/

相关文章:

java - 从 android 中的 longBlob 数据创建位图

c - Arduino : multiplexer code not entering for loop

php - MySQL查询中的IF语句

java - 当年龄不在范围内时抛出用户定义的异常

python - 如何从 for 循环 (Python 3.3) 生成一串 ASCII 字符?

java - 如何将 for 循环与 if-else 语句结合使用

java - MongoDb错误: cannot use 'j' option when a host does not have journaling enabled

java - 可重入锁await和signalAll方法

java - 如何创建一个仅返回 Java 中不同元素的迭代器?

java - 为什么迭代中没有捕获加法的结果?