我需要這段代碼來執行回圈,直到得到結果 1。我想讓這段代碼根據inputNum計算,如果inputNum是偶數,inputNum除以 2,如果inputNum是奇數,則乘以 3 和加一。到目前為止我已經這樣做了,但是我已經失去了如何回圈這個函式的條件,直到我得到結果 1 作為最終結果。我真的需要你的幫助請教我
const inputNum = 5;
let i = inputNum;
while (i == 1) {
calculateNum();
}
function calculateNum() {
if (inputNum % 2 == 0) {
console.log('Input number : ' inputNum ' (even number!)');
let result = inputNum / 2;
console.log('Result: ' result);
} else {
console.log('Input number : ' inputNum ' (odd number!)');
let result = inputNum * 3 1;
console.log('Result: ' result);
}
}
uj5u.com熱心網友回復:
您需要從 calculateNum 回傳一個結果:
function calculateNum() {
if (inputNum % 2 == 0) {
console.log('Input number : ' inputNum ' (even number!)');
let result = inputNum / 2;
console.log('Result: ' result);
return result;
} else {
console.log('Input number : ' inputNum ' (odd number!)');
let result = inputNum * 3 1;
console.log('Result: ' result);
return result;
}
}
然后在您的回圈中捕獲(并測驗)結果:
while (i != 1) {
i = calculateNum();
}
uj5u.com熱心網友回復:
像這樣的東西?:
const inputNum = 5;
let i = inputNum;
while (i !== 1) {
calculateNum();
}
function calculateNum() {
if (i % 2 == 0) {
console.log("Input number : " i " (even number!)");
i = i / 2;
console.log("Result: " i);
} else {
console.log("Input number : " i " (odd number!)");
i = i * 3 1;
console.log("Result: " i);
}
}
結果:
Input number : 5 (odd number!)
Result: 16
Input number : 16 (even number!)
Result: 8
Input number : 8 (even number!)
Result: 4
Input number : 4 (even number!)
Result: 2
Input number : 2 (even number!)
Result: 1
編輯:
所以你的代碼的主要問題是你沒有更新 的值i,所以實際上你有一個無限回圈。
不使用結果,而是更新 的值i。
uj5u.com熱心網友回復:
將 while 回圈放入您的函式中。
let inputNum = 5;
function calculateNum(inputNum) {
while(inputNum !== 1) {
if (inputNum % 2 == 0) {
console.log('Input number : ' inputNum ' (even number!)');
inputNum = inputNum / 2;
console.log('Result: ' inputNum);
} else {
console.log('Input number : ' inputNum ' (odd number!)');
inputNum = inputNum * 3 1;
console.log('Result: ' inputNum);
}
}
return inputNum
}
calculateNum(inputNum)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/515430.html
