while 循环中的 switch 语句
Switch statement inside a while loop
我有一个类似于收银机的功能。只要变化大于 0,就应该扣除钱。但是,我认为循环或 switch 语句没有正常工作,因为值没有被扣除并返回到我的变量或数组。当我查看我的数组时,应该扣除该值。
代码:
function checkCashRegister(price, cash, cid) {
var change = cash - price;
var message = "";
var isBoolean = true;
var cashInReg = cid;
while(isBoolean) {
switch (change) {
case change -100 > 0:
change-= 100;
cashInReg[8][1]-= 100;
break;
case change -20 > 0:
break;
case change -10 > 0:
break;
case change -5 > 0:
break;
case change -1 > 0:
break;
case change -0.25 > 0:
break;
case change -0.10 > 0:
break;
case change -0.05 > 0:
break;
case change -0.01 > 0:
break;
case change === 0:
isBoolean = false;
break;
case change < 0:
message = "Insufficient Funds";
isBoolean = false;
break;
default:
message = "hi";
}
}
return cashInReg;
}
checkCashRegister(100,500.00, [["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.10], ["QUARTER", 4.25], ["ONE", 90.00], ["FIVE", 55.00], ["TEN", 20.00], ["TWENTY", 60.00], ["ONE HUNDRED", 100.00]]);
The switch statement evaluates an expression, matching the
expression's value to a case clause, and executes statements
associated with that case.
在您的代码中,通常 change
应该与 case
构造中恰好位于(您的代码是布尔值)中的值进行比较。 case change -100 > 0:
我建议你使用 if else if else if ... else
构造。
祝你好运。
我有一个类似于收银机的功能。只要变化大于 0,就应该扣除钱。但是,我认为循环或 switch 语句没有正常工作,因为值没有被扣除并返回到我的变量或数组。当我查看我的数组时,应该扣除该值。
代码:
function checkCashRegister(price, cash, cid) {
var change = cash - price;
var message = "";
var isBoolean = true;
var cashInReg = cid;
while(isBoolean) {
switch (change) {
case change -100 > 0:
change-= 100;
cashInReg[8][1]-= 100;
break;
case change -20 > 0:
break;
case change -10 > 0:
break;
case change -5 > 0:
break;
case change -1 > 0:
break;
case change -0.25 > 0:
break;
case change -0.10 > 0:
break;
case change -0.05 > 0:
break;
case change -0.01 > 0:
break;
case change === 0:
isBoolean = false;
break;
case change < 0:
message = "Insufficient Funds";
isBoolean = false;
break;
default:
message = "hi";
}
}
return cashInReg;
}
checkCashRegister(100,500.00, [["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.10], ["QUARTER", 4.25], ["ONE", 90.00], ["FIVE", 55.00], ["TEN", 20.00], ["TWENTY", 60.00], ["ONE HUNDRED", 100.00]]);
The switch statement evaluates an expression, matching the expression's value to a case clause, and executes statements associated with that case.
在您的代码中,通常 change
应该与 case
构造中恰好位于(您的代码是布尔值)中的值进行比较。 case change -100 > 0:
我建议你使用 if else if else if ... else
构造。
祝你好运。