0

我有一个while循环,我的要求是根据字符串的前三个字符将数据传递给一个变量,然后根据字符串的最后三个字符将另一个数据传递给另一个变量。因此,我在 while 循环中使用了两个 switch 语句,如下所示

while (condition) {
  switch (firstThreeChars) {
    case 'a':
          do this;
          break;
    case 'b':
          do this...;
          break;
  }
  switch (lastThreeChars) {
    case 'x':
          do this;
          break;
    case 'y':
          do this...;
          break;
  }  
}

我意识到代码永远不会到达第二个 switch,因为第一个 switch-case 中的 break 会将控制权释放到 while 语句。有没有办法在一个while循环中有多个switch-case语句?也许可以替代break语句..

4

1 回答 1

1

这是不正确的;break关键字终止switch语句,而不是while. 这里的问题是您将字符串与单个字符进行比较,因此您可能永远不会匹配任何case语句。

于 2013-11-08T03:35:06.940 回答