标签: switch-statement

如果在 Switch 内 - php 中的情况

我正在尝试根据从 php 中的对象数组收到的数据创建查询。我不断收到有关案例内嵌套 if 的错误。意外的“{”,是因为我在案例中不能有 if 吗?

switch($name){ 
case 'players': 
      $query .= " min_players <=".$value." AND max_players >=".$value." AND"; 
      break; 
case 'max-duration':         
      if((intval($value) >= 45)  {  
          $min = intval($value)-30;  
          $query .= " duration <=".$value." AND duration >=".$min." AND"; 
      } else { //if duration < 45  
            $query .= " duration <=".$value." AND";  
      }//end else 
      break; 
}
Run Code Online (Sandbox Code Playgroud)

php if-statement switch-statement

-1
推荐指数
1
解决办法
2万
查看次数

switch中没有大小写匹配时如何抛出异常

我有一个具有 switch 块的函数,当没有匹配项时我想抛出异常,我该怎么做,我写了这个开关

private static int ClimateCal() {
    int climateCal = 0;
    switch (climate.toLowerCase()){
        case "Hot":
            climateCal = 0;
            break;
        case "Cold":
            climateCal = 250;
            break;
        case "Moderate":
            climateCal = 500;
            break;
        default:
            Exception exception;
    }
    return climateCal;
}
Run Code Online (Sandbox Code Playgroud)

java android switch-statement

-1
推荐指数
1
解决办法
3992
查看次数

尝试返回开关时 Unity 中出现神秘的 C# 错误

我正在关注有关在 Unity 中生成 Minecraft 风格地形的 YouTube 教程,在教程的第 10 部分中,编写了一个脚本,其中包含一个以语句结尾的函数return x switch。switch的具体内容如下:

    public static Vector3Int GetVector(this Direction direction)
    {
        return direction switch
        {
            Direction.up => Vector3Int.up,
            Direction.down => Vector3Int.down,
            Direction.right => Vector3Int.right,
            Direction.left => Vector3Int.left,
            Direction.forward => Vector3Int.forward,
            Direction.backwards => Vector3Int.back,
            => throw new Exception("Invalid direction provided.")
        };
    }
Run Code Online (Sandbox Code Playgroud)

Direction是一个单独脚本中的枚举,其中包含forward, right, backwards, left, up, 和down, 按确切的顺序。问题是,一旦编译了代码,我就会在 Unity 中从 DirectionExtensions.cs(包含返回开关的脚本)收到此错误:

Assets/Scripts/Terrain/DirectionExtensions.cs(17,52):错误 CS8504:模式丢失

我尝试在 Google 上搜索错误代码和错误消息,但结果要么是参考资料(例如 C# 错误消息列表),要么是不相关的 Unity 错误。我没有发现任何实际发生过此错误的例子。不,该错误不是预期的,因此本教程不会演示如何在任何时候修复它。如何解决此错误以便我可以继续处理我的项目?

c# switch-statement unity-game-engine

-1
推荐指数
1
解决办法
154
查看次数

为什么在这个“switch”语句中第二个表达式的计算结果也为 true?

我希望有人可以帮助我解决一个初学者问题(这是专门在 Arduino 上运行的,但我怀疑这是一个比这更基本的 C++ 问题)。

我不明白为什么以下“switch”语句同时输出“Channel 1”和“Channel 2”语句:

void setup() {
  delay(100);
  Serial.begin(57600);
  delay(100);

  int channel = 1;

  switch (channel) {
    case 1:
      Serial.println("Channel 1");
    case 2:
      Serial.println("Channel 2");
  }
}

void loop() {

}
Run Code Online (Sandbox Code Playgroud)

我读过 switch 语句“follow-though”或“cascade”,即我理解如果满足条件 1,那么代码仍然会继续检查后续条件(并且您可以添加显式的“break”命令)跳出)。这一切都很好。

但我不明白第二个表达式的计算结果为true(因为整数变量channel=1,并且只有当channel=2时它才应计算为true)。

我在这里缺少什么?

谢谢你!

c++ expression arduino switch-statement

-1
推荐指数
1
解决办法
100
查看次数

Java中的"switch"语句是否只适用于整数?

可能重复:
使用Java中的字符串切换语句?

Java中的"switch"语句是否只适用于整数?

我不能写这样的东西吗?

switch(string)case"hello":...

谢谢

java switch-statement

-2
推荐指数
1
解决办法
2万
查看次数

如何在javascript中使用切换条件?

我想在JavaScript代码中使用switch条件.但我不知道怎么办?请帮我做这个..提前谢谢

javascript asp.net switch-statement

-2
推荐指数
1
解决办法
737
查看次数

C中的代码,用于在输入数字时显示LED

下面的代码应该接受输入,然后存储它然后显示LED,将数字作为显示.然而,它提供随机LED,而不是正确的LED.我检查了一些事情,但我看不出有什么问题,你能帮忙吗?

#include <stdio.h>

int main( void )
{
   /* Declare a data variable for each pixel. */
   int a1, a2, a3, a4, a5 =0;
   int b1, b2, b3, b4, b5 =0;
   int c1, c2, c3, c4, c5 =0;
   int d1, d2, d3, d4, d5 =0;
   int e1, e2, e3, e4, e5 =0;
   int f1, f2, f3, f4, f5 =0;
   int g1, g2, g3, g4, g5 =0;
   int h1, h2, h3, h4, h5 =0;
   int i1, i2, i3, i4, i5 =0; …
Run Code Online (Sandbox Code Playgroud)

c switch-statement

-2
推荐指数
1
解决办法
247
查看次数

python switch语句不起作用

我找到了一个实现switch语句的函数 - >

File = open('/file.txt','r')

    String = File.readline()
    String = str(String)
    print String 

    for case in switch(String):
        if case("Head"):
            print "test successed"
            break
        if case("Small"):
            print String
            break
        if case("Big"):
            print String
            break  
        if case():
            print String 
            break 
Run Code Online (Sandbox Code Playgroud)

打印时的字符串值是Head,但是switch语句总是转到最后一种情况..函数显然工作正常,因为当我用v ="Head"更改字符串时它工作了!!!

知道出了什么问题吗?

开关功能 - >

class switch(object):
 def __init__(self, value):
    self.value = value
    self.fall = False

 def __iter__(self):
    """Return the match method once, then stop"""
    yield self.match
    raise StopIteration

 def match(self, *args):
    """Indicate whether or not to enter a case …
Run Code Online (Sandbox Code Playgroud)

python file-io switch-statement

-2
推荐指数
1
解决办法
563
查看次数

C++ switch语句返回奇怪的值

我的问题是,当switch语句指示时,此函数将guess返回为97和y的总和,而不仅仅是字母.奇怪的是,当我拥有它只是返回y时,它正如我所期望的那样工作.例如,当y = 4,并且我返回y时,显示4.当y = 4并且返回'guess'时,显示101.免责声明:这不是完整的代码.它真的很长,我觉得多余,因为我唯一的问题是当这个特定的函数返回'guess'时,即使它返回y也没有.如果所有代码都有用,我会很乐意提出来.

int letterguess(int z){
char guess;
int y;

y=letters[0][z];

switch (y){
            case 0:
                guess='a';
                break;
            case 1:
                guess='b';
                break;
            case 2:
                guess='c';
                break;
            case 3:
                guess='d';
                break;
            case 4:
                guess='e';
                break;
            case 5:
                guess='f';
                break;
            case 6:
                guess='g';
                break;
            case 7:
                guess='h';
                break;
            case 8:
                guess='i';
                break;
            case 9:
                guess='j';
                break;
            case 10:
                guess='k';
                break;
            case 11:
                guess='l';
                break;
            case 12:
                guess='m';
                break;
            case 13:
                guess='n';
                break;
            case 14:
                guess='o';
                break;
            case 15:
                guess='p';
                break;
            case …
Run Code Online (Sandbox Code Playgroud)

c++ switch-statement

-2
推荐指数
1
解决办法
256
查看次数

有没有理由使用switch语句而不是if和elseif的字符串?

可能重复:
切换if-else语句的优点
为什么switch语句而不是if-else?

switch语句似乎完全没用.它能做的任何事情都可以通过if和else来完成.

他们甚至可能编译成相同的代码.

那么为什么要费心呢?

break交换机中的语句label:让我发疯,这种格式让我想起了goto.

这是针对objective-c,c,C++的.我不确定vb.net是否有switch语句,但即使它确实如此,我必须忘记因为我从来没有使用它.

c c++ if-statement objective-c switch-statement

-2
推荐指数
1
解决办法
1615
查看次数