检查输入的数字是否为奇数

2022-09-04 05:00:22

“我不确定要插入什么代码,甚至不确定在哪里插入,但我想检查我输入的数字是奇数。

import java.io.*;
import javax.swing.JOptionPane;

public class Diamond {
    public static void main(String [] args) throws IOException {

        BufferedReader stdin = new BufferedReader (new InputStreamReader (System.in));
        String input; 
        int num;
        System.out.println("input number: ");
        input = stdin.readLine ();
        num = Integer.parseInt(input);

        if (num % 2 ==1){
            int d = num;
            int e = 0;
            for (int a = 0; a <= num; a++) {
                for (int c = d; c>= 1; c-- )
                    System.out.print(" ");
                d-=1;
                for (int b = 1; b <= a; b++)
                    System.out.print ("* ");
                System.out.println();
            }

            num-=1;
            for (int a = 0; a<=num; a++) {
                for (int b = num; b > a; b--)
                    System.out.print (" *"); 
                System.out.println(); 
                for (int c = 0; c <= e; c++)
                    System.out.print(" ");
                 e+=1;
            }
        } else {
            System.out.println("Please enter an odd number!");
        }
    }
}

答案 1

使用模块化算术

if (number % 2 == 0) {
  // even
} else {
  // odd
}

更新:

您可以在此处测试此代码:

请注意,检查均匀度将失败。number % 2 == 1

要检查数字是否为奇数,可以使用 。(number & 1) != 0


答案 2

num % 2 == 1 在负奇数上返回不正确的结果,除以 2 的其余部分将不是 1。这可以修复如下:

public boolean isOddNumber(int num) {
    return (num & 1) != 0;
}

推荐