如果其他/切换组合
If else/switch Combination
我不知道是否,else/switch都那么好,我不知道你是否可以将它们组合在一起,我不确定是不是这样,或者我只是刹车失误了,但我花了几个小时才找到问题,但我找不到。以下是整个代码以防万一:
const Fanta = 250,Sprite = 250,Cola = 250,Dirol = 450,Snickers = 300,Lays = 800;
var a = prompt("1:Fanta = 250, 2:Sprite = 250, 3:Coca Cola = 250, 4:Dirol = 450, 5:Snickers = 300, 6:Lays = 800");
function math()
{
switch(a)
{
case 1:
alert("You chose Fanta");
var money = prompt("Put money in");
alert("You put in " + money)
if(money >= 250)
{
alert("You just purchased a Fanta! Take back " + (money - Fanta));
}
default:
{
alert("Error! You didn't put in enough money")
}
}
switch(a)
{
case 2:
alert("You chose Sprite");
var money = prompt("Put money in");
alert("You put in " + money)
if(money >= 250)
{
alert("You just purchased a Sprite! Take back " + (money - Sprite));
}
else
{
alert("Error! You didn't put in enough money")
}
}
switch(a)
{
case 3:
alert("You chose Cola");
var money = prompt("Put money in");
alert("You put in " + money)
if(money >= 250)
{
alert("You just purchased a Coca Cola! Take back " + (money - Cola));
}
else
{
alert("Error! You didn't put in enough money")
}
}
switch(a)
{
case 4:
alert("You chose Dirol");
var money = prompt("Put money in");
alert("You put in " + money)
if(money >= 450)
{
alert("You just purchased a Dirol! Take back " + (money - Dirol));
}
else
{
alert("Error! You didn't put in enough money")
}
}
switch(a)
{
case 5:
alert("You chose Snickers");
var money = prompt("Put money in");
alert("You put in " + money);
if(money >= 300)
{
alert("You just purchased a Snickers! Take back " + (money - Snickers));
}
else
{
alert("Error! You didn't put in enough money")
}
}
switch(a)
{
case 6:
alert("You chose Lays");
var money = prompt("Put money in");
alert("You put in " + money)
if(money >= 800)
{
alert("You just purchased a Sprite! Take back " + (money - Lays));
}
else
{
alert("Error! You didn't put in enough money")
}
}
}
math();
您应该更好地优化代码。。。默认值只在开关中起作用,并且在您的代码中是不喝酒的选项。答案是你可以这样做:已选择。。。
var enough_money=false; var diff=0; var drink="";
switch(a){
case(1):
alert(...);
if(...){
enough_money=true;
diff= money-cola;
drink= "Cola";
}
break;
case(2):
alert(...);
if(...){
enough_money=true;
diff= money-cola;
drink= "Cola";
}
break;
default:
alert("Please choose!");
}
if(enough_money){
alert(drink+ ' rest money'+diff);
}
您编写了类似的东西
switch(a) {
// switch block
}
switch(a) {
// another switch block
}
// and so on
在我看来,你需要将所有你切换的区块合并为一个。别忘了把break
放在case:
块中所以你的代码看起来是这样的:
switch(a) {
case x:
// case block 1
break;
case y:
// case block 2
break;
// other cases
default:
// if no one case is matched
}
为了编写大量案例,您不需要多次编写开关(a)。您唯一需要做的就是在single switch()中编写所有案例,并添加break在这种情况下结束。
编写代码的正确方法是:
const Fanta = 250,Sprite = 250,Cola = 250,Dirol = 450,Snickers = 300,Lays = 800;
var a = prompt("1:Fanta = 250, 2:Sprite = 250, 3:Coca Cola = 250, 4:Dirol = 450, 5:Snickers = 300, 6:Lays = 800");
function math()
{
switch(a)
{
case 1:
alert("You chose Fanta");
var money = prompt("Put money in");
alert("You put in " + money)
if(money >= 250)
{
alert("You just purchased a Fanta! Take back " + (money - Fanta));
}
break;
default:
{
alert("Error! You didn't put in enough money")
}
break;
case 2:
alert("You chose Sprite");
var money = prompt("Put money in");
alert("You put in " + money)
if(money >= 250)
{
alert("You just purchased a Sprite! Take back " + (money - Sprite));
}
else
{
alert("Error! You didn't put in enough money")
}
break;
case 3:
alert("You chose Cola");
var money = prompt("Put money in");
alert("You put in " + money)
if(money >= 250)
{
alert("You just purchased a Coca Cola! Take back " + (money - Cola));
}
else
{
alert("Error! You didn't put in enough money")
}
break;
case 4:
alert("You chose Dirol");
var money = prompt("Put money in");
alert("You put in " + money)
if(money >= 450)
{
alert("You just purchased a Dirol! Take back " + (money - Dirol));
}
else
{
alert("Error! You didn't put in enough money")
}
break;
case 5:
alert("You chose Snickers");
var money = prompt("Put money in");
alert("You put in " + money);
if(money >= 300)
{
alert("You just purchased a Snickers! Take back " + (money - Snickers));
}
else
{
alert("Error! You didn't put in enough money")
}
break;
case 6:
alert("You chose Lays");
var money = prompt("Put money in");
alert("You put in " + money)
if(money >= 800)
{
alert("You just purchased a Sprite! Take back " + (money - Lays));
}
else
{
alert("Error! You didn't put in enough money")
}
break;
}
}
math();
switch(expression) {
case n:
code block
break;
case n:
code block
break;
default:
default code block
}
相关文章:
- 如何添加浮动和非浮动,其他
- 将一个组合框值传递给其他组合框
- 如果其他/切换组合
- Javascript将JSON放入数组中,组合并在其他地方使用
- 根据为 j2ee 选择的其他组合框来更改组合框的值
- 如何在jQuery中获取对象ID并将其与其他字符串组合
- 有没有办法通过在 JavaScript 中组合其他两个变量来使用变量
- 检测由 shift 键和其他键组合产生的特殊字符
- 将选定的 Devexpress 组合框值复制到其他文本字段
- 如何将SHIFT键与其他键组合
- Javascript'这'在Z组合子和其他递归函数中重写
- 使用组合减速器时访问该州的其他部分
- 根据其他组合框中的选定选项更改下拉选项
- Redux;通过combineRoducer使用组合减速器时访问状态的其他部分
- 通过组合这两个其他数组来生成此数组
- 如何组合JSON对象与相同的键,并添加他们的其他相应的值
- 根据其他组合框中的值从组合框中选择值
- 如何显示一个单一的组合,从矩阵的值和隐藏其他
- 检测纸张中的 ctrl+z(和其他控制组合.js
- React Native Text Components:如何组合 url 和其他字符串