首页 > 解决方案 > 有人可以解释我如何编写这个程序吗?

问题描述

我目前正在用 Java 编写一个程序,它应该检查分配给名为“key”的变量的值是偶数还是奇数。然后,如果这个数字是偶数并且可以被 4 整除,它应该打印出“再次偶数”,否则“只有偶数”。此外,只要变量是奇数和负数,程序应该能够打印出消息“负奇数”,否则它应该输出“正奇数”。

这是我到目前为止所做的:

public class Number
{
  public static void main(String[] args){

    int key = 2;

    if (key % 2 == 0) {

      System.out.println("Entered number is even");
    }
    else {

      System.out.println("Entered number is odd ");
    }
  }
}

恐怕我无法弄清楚这个练习的下一部分。有人可以解释我如何编码缺失的部分吗?

标签: java

解决方案


首先,检查数字是正数、负数还是零。

if(key > 0)
{
     // it's positive
}
else if(key < 0)
{
     // it's negative
}
else
{
     // it's zero
}

然后检查它是偶数还是奇数

if(key > 0)
{
     if(key % 2 == 0)
     {
         // it's even
     }
     else
     {
         // it's odd
     }
}
else if(key < 0)
{
     if(key % 2 == 0)
     {
         // it's even
     }
     else
     {
         // it's odd
     }
}
else
{
     // it's zero
}

如果数字是偶数,您可以检查它是否可以被 4 整除并显示相应的消息/秒。

完整的程序将如下所示

public class Test
{
    public static void main(String[] args) 
    {
        int key = 10 ;

        if(key > 0) 
        {
            if(key % 2 == 0)
            {
                System.out.println("Positively even");

                if(key % 4 == 0)
                    System.out.println("even again") ;
                else
                    System.out.println("only even");
            }
            else
            {
                System.out.println("Positively odd");
            }
        }
        else if(key < 0)
        {
            if(key % 2 == 0)
            {
                System.out.println("Negatively even") ;

                if(key % 4 == 0)
                    System.out.println("even again") ;
                else
                    System.out.println("only even");
            }
            else
            {
                System.out.println("Negatively odd");
            }
        }
        else
        {
            System.out.println("It's zero");
        }
    }
}

推荐阅读