悬赏的问题:Java语言如何判断一个数是奇数还是偶数,不让用 % 5C

悬赏的问题:Java语言如何判断一个数是奇数还是偶数,不让用 %,也不让循环,有什么办法没有,感觉没有思路

6个回答

    public static boolean isEven(int num){
        if((num & 0x01) == 0){
            return true;
        }
        return false;
    }

方法:

/**
     * 判断是否是奇数
     * @param n 参数n
     * @return n是奇数返回true,否则返回false
     */
    public boolean isOddNumber(int n){
        return ((n & 1)==1);
    }

测试:

@Test
    public void test9() {
        System.out.println("0是奇数吗?"+isOddNumber(0));
        System.out.println("1是奇数吗?"+isOddNumber(1));
        System.out.println("-1是奇数吗?"+isOddNumber(-1));
        System.out.println("-20是奇数吗?"+isOddNumber(-20));
    }

结果:

0是奇数吗?false
1是奇数吗?true
-20是奇数吗?false
-1是奇数吗?true
public static void main(String[] args) {
        int n1 = 123;
        int n2 = 234;
        fun(n1);
        fun(n2);
    }

    private static void fun(int number) {
        // 将数字转换为字符串
        String numberStr = String.valueOf(number);
        // 截取字符串最后一个数字
        char lastNumber = numberStr.toCharArray()[numberStr.length() - 1];
        // 判断奇数与偶数
        if (lastNumber == '1' || lastNumber == '3' || lastNumber == '5' || lastNumber == '7' || lastNumber == '9') {
            System.out.println(number + "为奇数");
        } else {
            System.out.println(number + "为偶数");
        }
    }

回答不易,望采纳!

qq_19309473
鹏程萬鲤 回复Soul fragments: 是的, 你这个要好得多,我这个方法比较笨
4 个月之前 回复
weixin_43943977
Soul fragments 也可以直接转化成二进制截取最后一个数字判断0还是1就好了
4 个月之前 回复

我也提供一个简单的方法:不让使用%,总让使用/吧
进行一个强制类型转化,a/2后int 换成double,奇数二者的值大小是不一样的,偶数是一样的。
import java.util.Scanner;

public class simple {

public static void main(String[] args) {
while(true) {
System.out.println("请输入需要判断的数字");
Scanner s = new Scanner(System.in);  
int a = s.nextInt();  
double b=a/2.0;    
int c=(int)b;
double d=0;
if(b-c==d)
System.out.println("偶数");
else 
System.out.println("奇数");
}
}

}

奇数二进制最后一位是1,偶数则是0。和1按位与&运算,结果等于0是偶数,否则为奇数。
if((num & 1) ==0)retrun true;

原型数据除以2的结果 与 将数据转换为浮点型除以2的结果比较,相等则是偶数,不相等则是奇数。
因为浮点数奇数除以2有余数,整数奇数除以2无余数

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

3
java,for语句求奇数偶数的问题?
1
怎么将一串数字里的奇数提取出来组成一个新的数?
2
C语言输出格雷码的问题
3
求奇数的乘积,用C语言是怎么实现的,代码看下
1
汇编 判断从键盘输入的某个数的范围,并计算范围内的奇数的和?
3
C语言实现,给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和
1
分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和,这个算法问题的C语言的解法,谢谢
1
给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和,具体运用C语言的实现
1
用C语言计算给你n个整数,求他们中所有奇数的乘积。
0
综合运用C语言的程序的编写的代码的方式,输出每组数中的所有奇数的乘积怎么做的
1
C#随机产生一些数,然后判断哪些是奇数,哪些是偶数
1
给n个整数,求他们中所有奇数的乘积。怎么采用C语言的代码的设计的思维方法来解决的步骤
1
角谷猜想 逆 对于一个整数n,如果n为偶数,则除以二,如果n为奇数,则乘三加一。
3
这个是C++题目 判断变量是奇数还是偶数 有谁能指点一下吗 我不确定我的有啥问题 总感觉怪怪的我这个
1
C语言里面求奇数的乘积语言的程序编写
1
用C语言来实现求奇数的乘积
0
C程序设计,求奇数的乘积
0
奇数阶魔方 的问题
3
求奇数的乘积 怎么来求解的