2015-10-14 43 views
-1

這裏的目的是讓用戶輸入一個數字來確定它是偶數還是輸入'q'來退出程序。使用JS檢查整數是偶數還是按q退出

var readlineSync = require('readline-sync'); 

    var i = 0; 


    while (i <= 3) { 
    var num = readlineSync.question("Enter q to quit, or enter an integer to continue?"); 
    if (num === 'q') { 
    console.log("You have quit the application. Thanks for using."); 
    break; 
    } 
    else if (num % 2) { 
    console.log("You have entered an odd number"); 
    } 
    else if (num !== 'q') { 
    console.log("You have not entered a valid character. Please try again."); 
    break; 
    } 
    else { 
    console.log("You have entered an even number."); 
    break; 
    } 

    } 

按q啓動相應的響應並退出程序。輸入一個奇數也會產生適當的響應。但是,如果輸入偶數,則程序不會生成適當的響應,而是讀取您尚未輸入有效字符。請再試一次。我忽略了什麼?任何建議表示讚賞。

+0

是這個nodejs? 'require'不是javascript的一部分。什麼是'readline-sync'? – chiliNUT

+0

是的,這是node.js.基本上它會提示節點讀取腳本,而console.log輸出響應 –

+0

歡迎使用堆棧溢出!如果您使用本地javascript之外的任何內容,則應對其進行標記。由於我不知道node.js,我會看到標籤並跳過了這個問題。還有一些使用node.js的人,他們可能會跳過這個問題,因爲它只是用javascript標記的,現在知道它是針對node.js的。 :)我已經爲你添加了node.js標籤 – chiliNUT

回答

0

這是因爲你的第三個條件(num!=='q')。當您輸入一個偶數時,它的計算結果爲true。

+0

,那麼這個內的另一個條件就足夠了,即(num!=='q'&& num = parseInt(num))就足夠了嗎? –

+0

你可以做這樣的事情,但再次使用模數來檢查均勻性可能會更清晰。 – mbrightenfield

相關問題