【问题标题】:I need to check for equality with a switch statement我需要用 switch 语句检查是否相等
【发布时间】:2015-09-04 21:43:42
【问题描述】:

我正在编写一个热或冷的应用程序。我需要一个 switch 语句来决定用户是热还是冷。到目前为止,这是我的代码:

switch(true) {
        	case (userGuess / secretNumber === 1):
        		setFeedback("You win");
            	finish = true;
            	break;
            case ((userGuess - secretNumber) > 50):
            	setFeedback("You're ice cold!");
            	break;
            case ((userGuess - secretNumber) > 30):
            	setFeedback("You're cold!");
            	break;
            case ((userGuess - secretNumber) > 20):
            	setFeedback("You're warm!");
            	break;
            case ((userGuess - secretNumber) > 10):
            	setFeedback("You're hot!");
            	break;
            case ((userGuess - secretNumber) > 0):
            	setFeedback("You're blazing hot!");
            	break;
        }

编辑: 我正在尝试用开关替换以下 if/else 语句。请告诉我是否可能,如果可能:如何。这是旧代码:

if (userGuess / secretNumber === 1){
            setFeedback("You win");
            finish = true;
          } else if ((secretNumber - userGuess) > 60.5){
            setFeedback("Wow! You are freezing!");
            } else if ((secretNumber - userGuess) > 55.5){
            setFeedback("Wow! You better put on a jacket cause its super cold!");
            } else if ((secretNumber - userGuess) > 50.5){
            setFeedback("Its is super cold man!");
            } else if ((secretNumber - userGuess) > 40.5) {
            setFeedback("Now you are cold!");
            } else if ((secretNumber - userGuess) > 30.5) {
            setFeedback("It's getting warm around here");
            } else if((secretNumber - userGuess) > 20.5) {
            setFeedback("It's getting very warm in here!");
            } else if((secretNumber - userGuess) > 15.5) {
            setFeedback("It's getting very very warm in here!");
            } else if ((secretNumber - userGuess) > 7.5){
            setFeedback("It's hot!");
            } else if ((secretNumber - userGuess) > 5.5){
            setFeedback("It is very hot here!");
           } else if ((secretNumber - userGuess) > 1.5){
            setFeedback("I am burning here!!");
            } else if ((secretNumber - userGuess) > 0.5){
            setFeedback("Its is hotter than the sun!!!!!");
        } else {
        }

【问题讨论】:

  • 这太笼统了,你到底在问什么?
  • 我正在尝试替换这个 if/else 语句:
  • 试试看这个:w3schools.com/js/js_switch.asp
  • 已经做到了。参考我的回答
  • 取secretNumber的绝对值-userGuess。如果 userGuess 大于 secretNumber 怎么办?

标签: javascript switch-statement equality


【解决方案1】:
       int value = secretNumber-userGuess;

       if ((userGuess / secretNumber) == 1)
        {
          setFeedback("You win");
          finish = true;
        } 
        else if (value > 60.5)
          setFeedback("Wow! You are freezing!");
        else if (value > 55.5)
          setFeedback("Wow! You better put on a jacket cause its super cold!");
        else if (value > 50.5)
          setFeedback("Its is super cold man!");
        else if (value > 40.5) 
          setFeedback("Now you are cold!");
        else if (value > 30.5) 
          setFeedback("It's getting warm around here");
        else if (value > 20.5) 
          setFeedback("It's getting very warm in here!");
        else if(value > 15.5) 
          setFeedback("It's getting very very warm in here!");
        else if (value > 7.5)
          setFeedback("It's hot!");
        else if (value > 5.5)
          setFeedback("It is very hot here!");
        else if (value > 1.5)
          setFeedback("I am burning here!!");
        else if (value > 0.5)
          setFeedback("Its is hotter than the sun!!!!!");
     else {
    }

【讨论】:

    猜你喜欢
    • 2011-06-26
    • 2010-09-30
    • 2014-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多