我如何用Java做到这一点?如果最后一位数是偶数,则查找数字是否可被2整除。 (0,2,4,6,8)示例:128是,129不是
答案 0 :(得分:16)
使用按位操作and
if( (number&1) == 0)
按位AND运算符&
& (按位AND)运算符将其第一个操作数的每个位进行比较 第二个操作数的对应位。如果两个位都是1,那么 结果的相应位设置为1.否则,它设置为 相应的结果位为0(source)。
在二进制格式中,偶数的最低有效位等于零。了解这一点并使用&操作员,你可以找出它是否是偶数。
因此,如果y为零,则需要一个数字..abcdy并与... 00001进行比较,而不是..abcdy& ..00001也是零,因此是偶数。
答案 1 :(得分:5)
通过使用按位运算符
查看最右边的位是否为1然后不是执行逻辑和(例如)
yourNumber & 1
答案 2 :(得分:5)
检查最低有效位:
boolean even = (x & 1) == 0;
对于偶数,LSB为0
,对于奇数,LSB为1
,就像十进制数字一样,如果0
可以分割,则最低有效数字为10
。
答案 3 :(得分:1)
if((n|1)==n)
System.out.println("odd");
else
System.out.println("even");
原因:如果LSB为1,则数字为奇数,否则为偶数。当n | 1完成时,奇数的LSB保持不变,因此得到的数字不会改变,而偶数的LSB变为1,从而改变数字。
答案 4 :(得分:0)
Myway;)
公共类Even_Odd {
/**
* @param args
*/
public static void main(String[] args)
{
int val=550;
// TODO Auto-generated method stub
while(val>=0)
{
if(val==1)
{
System.out.println("Odd Number");
}
else if(val==0)
{
System.out.println("Even Number");
}
val=val-2;
// System.out.println(val);
}
}
}
答案 5 :(得分:0)
将数字除以 2 并乘以答案 2 ,如果您得到原始数字,则数字“偶数”如果不是那么数字是“奇怪”
public class EvenOrOdd
{
public static void main(String args[])
{
int value = 129;
if((value/2)*2==value)
{
System.out.println("The Given Number \""+value+"\" is Even");
}
else
{
System.out.println("The Given Number \""+value+"\" is Odd");
}
}
}
答案 6 :(得分:0)
import java.io.*;
import java.util.*;
public class CheckNumber{
public static void main(String... args)throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Please enter the number to check even or odd");
int number=Integer.parseInt(br.readLine());
String temp=number+""; //convert number to string
char ch=temp.charAt(temp.length()-1); //get last character
temp=ch+"";
if(temp.equals("0") || temp.equals("2") || temp.equals("4") || temp.equals("6") || temp.equals("8")) //check last number is even
System.out.println("Number is even");
else
System.out.println("Number is odd");
}
}