【问题标题】:Ask about switch/case [duplicate]询问开关/案例[重复]
【发布时间】:2022-01-02 19:09:41
【问题描述】:
let rachunek = prompt('Podaj cene rachunku');
    
switch(rachunek) {
    case rachunek >=50 && rachunek <= 300:
        console.log('Cena rachunku wynosi ' + rachunek + ' zł ' + 'natomiast napiwek wynosi' + rachunek * 0,15 + ' zł');
        break;

    case rachunek < 50 && rachunek > 300:
        console.log('Cena rachunku wynosi ' + rachunek + ' zł ' +'natomiast napiwek wynosi' + rachunek * 0,2 + ' zł');
        break;

    default:
        console.log('Złe dane');
}

我不知道怎么了,因为终端总是只显示 2 zł 小费。

【问题讨论】:

  • 你不能在这里使用switch - 你需要使用if ... else if ... else
  • 链接副本显示您可以在此处使用switch
  • @Filburt 这很酷,我也不知道。

标签: javascript switch-statement default break


【解决方案1】:

let rachunek = prompt('Podaj cene rachunku');

switch(true) {
case rachunek.length >=50 && rachunek.length <= 300:
    console.log('Cena rachunku wynosi ' + rachunek + ' zł ' + 'natomiast napiwek wynosi' + rachunek * 0,15 + ' zł');
    break;
case rachunek.length < 50 && rachunek.length > 300:
    console.log('Cena rachunku wynosi ' + rachunek + ' zł ' +'natomiast napiwek wynosi' + rachunek * 0,2 + ' zł');
    break;
default:
    console.log('Złe dane');
}

您的 switch 表达式必须为真,请检查您的长度字符串

let rachunek = prompt('Podaj cene rachunku');

switch(true) {
case rachunek.length >=50 && rachunek.length <= 300:
    console.log('Cena rachunku wynosi ' + rachunek + ' zł ' + 'natomiast napiwek wynosi' + rachunek * 0,15 + ' zł');
    break;
case rachunek.length < 50 && rachunek.length > 300:
    console.log('Cena rachunku wynosi ' + rachunek + ' zł ' +'natomiast napiwek wynosi' + rachunek * 0,2 + ' zł');
    break;
default:
    console.log('Złe dane');
}

【讨论】:

    【解决方案2】:

    Switch 不计算,只是比较。 if应该是用来计算的。

    let rachunek = prompt('Podaj cene rachunku');
     
        if( parseInt(rachunek) >=50 && parseInt(rachunek) <= 300){
            console.log('Cena rachunku wynosi ' + rachunek + ' zł ' + 'natomiast napiwek wynosi' + rachunek * 0,15 + ' zł');
            }
           else if (parseInt(rachunek) < 50 && parseInt(rachunek) > 300){
            console.log('Cena rachunku wynosi ' + rachunek + ' zł ' +'natomiast napiwek wynosi' + rachunek * 0,2 + ' zł');
            } else {
             console.log('Złe dane');
            }
          
    
      
     

    这里是switch的逻辑使用。

    let result = "0"
    if( parseInt(rachunek) >=50 && parseInt(rachunek) <= 300){
           result = "between50and300";
            }
           else if (parseInt(rachunek) < 50 && parseInt(rachunek) > 300){
             result = "notbetween50and300";
            } else {
             result = "default";
            }
    
    switch(result) {
        case "between50and300":
            console.log('Cena rachunku wynosi ' + rachunek + ' zł ' + 'natomiast napiwek wynosi' + rachunek * 0,15 + ' zł');
            break;
    
        case "notbetween50and300":
            console.log('Cena rachunku wynosi ' + rachunek + ' zł ' +'natomiast napiwek wynosi' + rachunek * 0,2 + ' zł');
            break;
    
        default:
            console.log('Złe dane');
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-24
      • 2021-02-08
      • 2016-03-21
      • 1970-01-01
      • 1970-01-01
      • 2016-10-09
      • 1970-01-01
      相关资源
      最近更新 更多