将整数除以 12 并显示余数是奇数还是偶数

Posted

技术标签:

【中文标题】将整数除以 12 并显示余数是奇数还是偶数【英文标题】:Divide integer by 12 and show if remainder is odd or even [duplicate] 【发布时间】:2018-09-13 07:42:37 【问题描述】:

尝试创建一个程序,要求用户输入 20 到 100 之间的数字。 输入号码后。程序会将输入的数字除以 12。然后程序会判断除法的结果是偶数还是奇数。 (例如:35除以12的余数是11,是奇数。)

我已经启动了程序,但无法弄清楚除法部分。

import java.util.Scanner;

public class Chpt3_Project 
    public static void main (String [] args) 
        // Create a Scanner object
        Scanner sc = new Scanner(System.in);

        // Prompt the user to enter an integer value between 20 and 100.
        int input;
        do 
            System.out.print("Enter a number between 20 and 100: ");
            input = sc.nextInt();

            if (input < 20 || input >= 101) 
                System.out.println("Invalid number input!");
            
         while (input < 20 || input >= 101);

        //Divide result by 12 and show if even or odd

    


【问题讨论】:

如果任何答案对您有帮助,您可以accept您认为最有帮助的答案。 【参考方案1】:

您可以使用modulo operator 来检查一个数字是偶数还是奇数。 假设你有

int n = 7;

应用模运算符

int r = n % 2;

将产生1 - 发生的事情是这样的:

n 除以2 并返回余数。

所以,我们知道如果% 2运算的余数为0,则为偶数,否则,如果余数为1,则为奇数。


在您的情况下,代码可能如下所示:

public static void main (String [] args) 
    // Create a Scanner object
    Scanner sc = new Scanner(System.in);

    // Prompt the user to enter an integer value between 20 and 100.
    int input = 0;

    do 
        System.out.print("Enter a number between 20 and 100: ");
        input = sc.nextInt();

        if (input < 20 || input >= 101) 
            System.out.println("Invalid number input!");
        
     while (input < 20 || input >= 101);

    // Divide the input by 12 and check if the remainder is an even number (== 0).
    boolean isEven = (input % 12) % 2 == 0;

    if(isEven) 
        System.out.println("Input is an even number.");
    
    else 
        System.out.println("Input is an odd number.");
    

【讨论】:

在奇偶校验之前不要忘记除以 12。 @Adder 谢谢你,现在编辑它。 remainder == 0 检查偶数,remainder == 1 检查奇数。解释是对的,但在代码中是不对的。 @Adder 再次感谢。英语不是我的第一语言;我有时会混淆“奇数”和“偶数”。现在在代码中应该是正确的,不是吗? @ThomasFlinkow 感谢您的快速响应。将整数放入程序中后,它会显示它是偶数还是奇数,这很好,但我希望它是奇数还是仅在除以 12 后才显示。这就是我试图在控制台中实现的: 输入一个介于 20 到 100 之间的数字:35 35 除以 12 的余数是 11,它是奇数【参考方案2】:

为了进行数学运算,您必须首先检索 N mod(12) 的模除结果,然后检查余数是否可被 2 整除 -> ((N mod(12) mod(2)).

int remainderAfterDivisionByTwelve = n % 12; // n = 35 -> results in 11
boolean isRemainderEven = (remainder % 2) == 0; // remainder = 11 -> results in (1 == 0) false

【讨论】:

以上是关于将整数除以 12 并显示余数是奇数还是偶数的主要内容,如果未能解决你的问题,请参考以下文章

编写一个程序,判断任意输入的整数的奇偶性。

用c语言编写 编写一个判断奇偶数的函数,要求在主函数中输入一个整数,输出该数是奇数还是偶数的信息

输入一个整数判断是奇数还是偶数,C语言程序

判断一个数是奇数还是偶数用C程序怎么编写

如何检查整数是偶数还是奇数? [关闭]

输入 10 个整数,将这 10 个数按升序排列,并且奇数在前偶数在后?