我的程序有問題。首先,我會告訴你它是做什麼的: 它應該爲你做畢達哥拉斯定理。 Theorem Explanation Here.if else if else語句(JS)
這裏是數學式:(A * A)+(B * B)=(C * C)
下面是本程序:
function pythagorean (a, b, c) {
if (c === null){
return 'c = ' + Math.sqrt((a*a) + (b*b));
} else if (b === null) {
return 'b = ' + Math.sqrt((c*c) - (a*a));
} else if (a === null) {
return 'a = ' + Math.sqrt((c*c) - (b*b));
} else {
return "I'm sorry, I don't understand."
};
};
我決定被看中和儘量使它如此,以便如果雙方:A和B爲空,程序將假設=== b,並且它的公式將變成:[不管是C] c = Math.sqrt(2 *( a * a)+(b * b)))
(對不起,令人困惑)
所以,我想執行一些代碼,使其工作:
function pythagorean (a, b, c) {
if (c === null){
return 'c = ' + Math.sqrt((a*a) + (b*b));
} else if (a && b === null){
return 'if a and b are equal, then a and b both equal ' + Math.sqrt((c * c)/2);
} else if (b === null) {
return 'b = ' + Math.sqrt((c*c) - (a*a));
} else if (a === null) {
return 'a = ' + Math.sqrt((c*c) - (b*b));
} else {
return "I'm sorry, I don't understand."
};
};
但每當我得到C,一個值,但既是& b === null,則古怪只是跳過else if語句可與去直到b === null否則if語句並給我:'b ='和一些隨機答案。我需要你們男孩/女孩的幫助!
這將是更容易,如果(現在或下一時間),你可以把它通過jsfiddle或通過stackoverflow轉換爲可運行的代碼(點擊第二列,從左邊的第二列)。 –
'a && b === null'不會做你認爲它做的事。它檢查'a'是否爲真,並且'b === null'爲真。 – Biffen
a === null && b === null。你必須分別檢查每一個。 – shadymoses