用偶判斷,不用奇判斷

判斷一個數(shù)是奇數(shù)還是偶數(shù)是小學里學的基本知識,能夠被⒉整除的整數(shù)是偶數(shù),不能被⒉整除的是奇數(shù),這規(guī)則簡單又明了,還有什么好考慮的?好,我們來看一個例子,代碼如下:

public class client {
public static void main (string [] args) 
/接收健盤輸入?yún)?shù)
Scanner input = new Scanner (system.in) ;
system.out.print(”請輸入多個數(shù)字判斷奇偶:");
while ( input .hasNextInt ()){
int i = input.nextInt ( );
string str =i+"->" + (i % 2 == 1 ? ”奇數(shù)“ : ”偶數(shù)");
system.out.println(str) ;
)
}
}

輸入多個數(shù)字,然后判斷每個數(shù)字的奇偶性,不能被⒉整除就是奇數(shù),其他的都是偶數(shù),完全是根據(jù)奇偶數(shù)的定義編寫的程序,我們來看看打印的結(jié)果:
請榆入多個數(shù)宇判斷奇偶:1 2 0 -1 -2
1->奇數(shù)
2->偶數(shù)
0->偶數(shù)
-1->偶數(shù)
-2->偶數(shù)
前三個還很靠譜,第四個參數(shù)-1怎么可能會是偶數(shù)呢,這Java也太差勁了,如此簡單的計算也會錯!別忙著下結(jié)論,我們先來了解一下Java中的取余(%標示符)算法,模擬代碼如下:

//模擬取余計算,dividend被除數(shù),divisor除數(shù)
public static int remainder (int dividerd,int divisor){
return dividend - dividend / divisor * divisor;

看到這段程序,相信大家都會心地笑了,原來Java是這么處理取余計算的呀。根據(jù)上面的模擬取余可知,當輸入-1的時候,運算結(jié)果是-1,當然不等于1了,所以它就被判定為偶數(shù)了,也就是說是我們的判斷失誤了。問題明白了,修正也很簡單,改為判斷是否是偶數(shù)即可。
代碼如下:
i%2==0?”偶數(shù)“:"奇數(shù)“

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 我們在學java的基本運算符時,經(jīng)常會用到 " % " 運算符。還記得我們是如何判斷一個數(shù)是否為偶數(shù)的嗎? 我們之...
    木心若素閱讀 340評論 0 0
  • 我們在學java的基本運算符時,經(jīng)常會用到 " % " 運算符。還記得我們是如何判斷一個數(shù)是否為偶數(shù)的嗎? 我們之...
    ggr閱讀 239評論 0 0
  • 前言 看大神推薦的書單中入門有這么一本書,所以決定把這本書的精華(自認為很有用的點),或許是我自己現(xiàn)在能用到的點都...
    我沒有三顆心臟閱讀 2,380評論 0 6
  • 參考 編寫高質(zhì)量代碼:改善Java程序的151個建議 持續(xù)更新、Java、筆記 1.使用 long 類型時注意使用...
    大漠知秋閱讀 968評論 3 11
  • 算法思想貪心思想雙指針排序快速選擇堆排序桶排序荷蘭國旗問題二分查找搜索BFSDFSBacktracking分治動態(tài)...
    第六象限閱讀 4,910評論 0 0

友情鏈接更多精彩內(nèi)容