取余判斷原則:取余用偶判斷,不要用奇判斷
先看一個 程序:
package com.test; import java.util.Scanner; public class t1 { public static void main(String[] args) { //接收鍵盤輸入 Scanner in = new Scanner(System.in); while(in.hasNextInt()){ int i = in.nextInt(); System.out.println(i%2==1?"奇數":"偶數"); } } }
再看一下結果:
這里就有疑問了,結果怎么出現了-1為偶數
看一下java取余算法(%標識符)怎么計算取余,*模擬*方法實現:
//被除數 dividend 除數divisor public static int remaindar(int dividend,int divisor){ return dividend - dividend/divisor*divisor; }
分析方法發現 -1取余還是 -1,所以被認定為偶數;
正確寫法:
package com.test; import java.util.Scanner; public class t1 { public static void main(String[] args) { //接收鍵盤輸入 Scanner in = new Scanner(System.in); while(in.hasNextInt()){ int i = in.nextInt(); System.out.println(i%2==0?"偶數":"奇數"); } } }
結果: