亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我怎么沒感覺有錯誤啊

我怎么沒感覺有錯誤啊

樂享天機 2018-07-17 15:37:04
//判斷用戶為奇偶數??Scanner sc=new Scanner(System.in);??????while(sc.hasNext()){//循環,當掃描到下一個元素的時候???System.out.println("請輸入一個數:");???int s=sc.nextInt();???if(s==0){????break;???????}else{????if(s%2==0){?????System.out.println("是偶數");????}else{?????System.out.println("是奇數");????}???}??????}?????}
查看完整描述

3 回答

已采納
?
慕勒0069038

TA貢獻143條經驗 獲得超39個贊

?while(sc.hasNext()) //循環,當掃描到下一個元素的時候 這個有問題?

你改成while(true) 都可以

查看完整回答
1 反對 回復 2018-07-17
?
onemoo

TA貢獻883條經驗 獲得超454個贊

while 后面小括號中需要是 boolean 類型,當值為 true 時才會執行 while 循環體。所以那個 true 就是 boolean 類型值??! 這樣寫 while 就會一直循環下去。

如我前面解釋的,while (sc.hasNext()) 會等待你輸入了之后才會開始執行 while 循環體,所以在你輸入之前,程序沒有任何顯示。

而 while (true) 會直接開始執行循環體。這樣即便你什么也不輸入,至少也會看到打印出"請輸入一個數:"


通常,用 while 來循環處理 Scanner 時,小括號中表達式更多地使用的是 hasNext 系列。

還有,Scanner 對象在使用結束后要記得調用 close() 來關閉。

查看完整回答
反對 回復 2018-07-18
?
onemoo

TA貢獻883條經驗 獲得超454個贊

這個代碼確實沒有什么大錯誤。

只是有一點:因為 while 中循環條件用的是?sc.hasNext(),所以在你輸入之前,while 都會卡在這里等待你的輸入。這樣一來,只要你不輸入,程序就會等待...

查看完整回答
反對 回復 2018-07-17
  • 樂享天機
    樂享天機
    while里改成true為什么可以呢,這個怎么理解啊
  • onemoo
    onemoo
    字有點多,我另寫了一個回復
  • 3 回答
  • 0 關注
  • 1223 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號