2017-06-22 46 views
-6

我該如何檢查給定的數字是否與「」如果比較是「完美平方」?JavaScript比較「if」關鍵字

+1

1)這是一種自以爲是的2)這是一個完全獨立的問題 – Li357

+1

該提示返回一個字符串,所以輸入可能是「你好」,在這種情況下,模數返回'NaN '。 –

+1

這是可讀的(減去拼寫錯誤)和非常標準的,所以是的,這很好。 –

回答

0

檢查數字是否奇數的「最佳」方式是主觀的。所顯示的方式肯定會奏效。但是,在實際代碼中,您需要確保記錄無效的年齡,或者通過檢查age % 2是否爲NaN或使用類似parseInt(prompt("what is your age?"), 10)的內容,然後檢查Number.isNaN中的輸出。

1

假設我明白你在問什麼,你可以先通過Math.sqrt請求一個數的平方根,然後在劃分後得到其餘的值,看看它是否等於0,在這種情況下,數字可以除以平方根,所以是一個「完美」的方

function isSquare(number) { 
 
    // get the square root of the number in question 
 
    var sqrt = Math.sqrt(number); 
 
    // check if the modulo (rest after dividing is 0) 
 
    return ((number % sqrt) === 0); 
 
} 
 

 
console.log(isSquare(9)); // true 
 
console.log(isSquare(5)); // false

要索要用戶的年齡,這真的取決於你的使用情況。提示是一種可能的方式做到這一點,雖然你也可以做到這一點通過提供一種形式,它給你的HTML5輸入類型number,像這樣的好處:

function checkAge() { 
 
    var inputElement = document.getElementById('ageInput'), 
 
    value = parseInt(inputElement.value), 
 
    outputElement = document.getElementById('output'); 
 
    if (Number.isNaN(value)) { 
 
    output.innerHTML = '<error>Please enter a valid number</error>'; 
 
    return; 
 
    } 
 
    if (value % 2 === 0) { 
 
    output.innerHTML = 'Your age is even'; 
 
    } else { 
 
    output.innerHTML = 'Your age is odd'; 
 
    } 
 
}
error { 
 
    color: red; 
 
}
<input type="number" min="0" id="ageInput" placeholder="give in your age" /> 
 
<button type="button" onclick="checkAge()">Validate</button> 
 
<div id="output"></div>

0
if(age % Math.sqrt(age) === 0) { 
    console.log("Your age is a perfect square!"); 
} 

我找到了答案..謝謝大家(:

+1

看到你的問題接受率爲0%,請閱讀[this](https://stackoverflow.com/help/someone-answers)。此外,這與我提供的代碼基本相同,因此無需將其添加爲額外的答案 – Icepickle