判断的核心是使用%求余 n%2 如果是0 ,那么是偶数,不是0就是奇数
参考代码
import javautilScanner;
public class JiShu {
public static void main(String[] args) {
Systemoutprintln("奇数判断程序");
Systemoutprint("请输入一个数字:");
Scanner sc = new Scanner(Systemin);//扫描器,用于读取控制台输入
int n = scnextInt();//得到输入的数字
if(isJiShu(n)){//调用方法进行判断是否是奇数
Systemoutprintln(n+"是奇数");
}else{
Systemoutprintln(n+"是偶数");
}
}
public static boolean isJiShu(int n){
if(n%2==0){//如果除2,余数是0,那么就不是奇数,返回false
return false;
}else{//余数不为0,那么返回true
return true;
}
}
}
用java编写程序输出1-100间所有奇数:
Systemoutprintln("1-100间所有奇数:");for(int i=0;i<100;i++){
if(i%2!=0){
Systemoutprint(i+" ");
}
}
奇偶数的判定依据是:是否能被2整除。
1、通过字面解释去实现:采用取模(%)的做法:
public booleam isOdd(int num){return num % 2 != 0;
}
注意:通过取模判断奇偶数一定要与0进行比较。如果是通过与1进行比较的话会有一个问题:
0 % 2 = 0 ( 0 != 1 ) 是偶数1 % 2 = 1 ( 1 = 1 ) 是奇数
-1 % 2 = -1 ( -1 != 1 ) 是偶数,很明显是错的
2、利用位运算(&)能更好的实现
原理是:偶数的二进制末位必然是0,奇数的末尾必然是1。所以只要把一个数与1进行按与运算,运算结果为1则是奇数,0则为偶数。
public booleam isOdd(int num){return num & 1 == 1;
}
这种方法不用担心-1这个特殊情况,(在计算机中,负数以其正值的补码形式表达的):
-1 的二进制:
原码:0000 0001
反码:1111 1110
补码:1111 1111
按位与计算得到:0000 0001,结果是1,则可以判断为-1是奇数。
import javautilScanner;
public class Student {
public static void main(String[] args) {
Scanner sr=new Scanner(Systemin);
Systemoutprintln("请输入一个数");
byte b=srnextByte();
if(b%2==0){
Systemoutprintln("偶数");
}else{
Systemoutprintln("奇数");
}
}
}
以上就是关于用java写一个方法判断是否是奇数,在主(Main)方法中输入一个数。调用判断奇数的方法,并输出是否是奇数。全部的内容,包括:用java写一个方法判断是否是奇数,在主(Main)方法中输入一个数。调用判断奇数的方法,并输出是否是奇数。、用java编写程序输出1-100间所有奇数、写一个java方法,判断给定的数字是偶数还是奇数。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)