标签: switch-statement

你应该在 switch case 循环中使用 break 吗?

以 FizzBu​​zz 为例,for 循环中的这个 switch case 在每个 case 之后使用 break。

for (num = 1; num <= 100000; num ++) {
    switch (true) {
        case (num % 15 == 0):
            console.log("FizzBuzz");
            break;
        case (num % 3 == 0):
            console.log("Fizz");
            break;
        case (num % 5 == 0):
            console.log("Buzz");
            break;
        default:
            console.log(num);
            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

在 Mozilla 的文档中,他们说...

与每个 case 标签相关联的可选 break 语句确保程序在执行匹配的语句后中断 switch 并在 switch 之后的语句处继续执行。如果省略 break ,程序将在 switch 语句中的下一个语句处继续执行

我假设它们的意思是当脚本检查 num % 15 == 0 时,如果没有中断并且即使它匹配 true,它也会转到 …

javascript loops switch-statement

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

C开关盒具有功能

谁能解释一下这段代码?我无法理解为什么此代码中的打印值为8

有人可以向我解释

#include <stdio.h>


int f(int i){
    switch (i){
        case 0 :
            return 0;
        case 1:

        case 2:
            return 1;
        default:

            return f(i-2)+f(i-1);
    }
}


void main(void) {

printf("%d", f(6));

}
Run Code Online (Sandbox Code Playgroud)

c function switch-statement

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

为什么我的代码使用逻辑表达式作为案例标签会引发错误?

switch(at){
case (at>0 && at<5) :
        printf("Average Time Taken (Hrs)\n%d.0",at);
        printf("Your Salary is Rs.%d",pj*1500 + 5000);
        break;
Run Code Online (Sandbox Code Playgroud)

其余的代码是相似的.我收到了这个错误case (at>0 && at<5) :

c switch-statement

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

Java制作开关案例的判决更短

我有这个switch case statement在我的FragmentStatePagerAdapter.我已经研究了许多类似的问题,但没有一个提供更短的答案,这意味着switch案例仍然在他们的代码中.

这段代码看起来非常重复和丑陋.有没有办法让这个看起来更短?

@Override
public SongListFragment getItem(int position) {
    SongListFragment slf = new SongListFragment();
    switch (position) {
        case 0:
            slf.setAudioList(getAudioList(tabTitles[0]));
            slf.setItemOnClickListener(new SongListFragment.SongListItemOnClickListener() {
                @Override
                public void onClick(Audio audio) {
                    itemListener.onClick(audio);
                }
            });
            return slf;
        case 1:
            slf.setAudioList(getAudioList(tabTitles[1]));
            slf.setItemOnClickListener(new SongListFragment.SongListItemOnClickListener() {
                @Override
                public void onClick(Audio audio) {
                    itemListener.onClick(audio);
                }
            });
            return slf;
        case 2:
            slf.setAudioList(getAudioList(tabTitles[2]));
            slf.setItemOnClickListener(new SongListFragment.SongListItemOnClickListener() {
                @Override
                public void onClick(Audio audio) {
                    itemListener.onClick(audio);
                }
            });
            return slf;
        case 3:
            slf.setAudioList(getAudioList(tabTitles[3]));
            slf.setItemOnClickListener(new SongListFragment.SongListItemOnClickListener() …
Run Code Online (Sandbox Code Playgroud)

java case switch-statement fragmentstatepageradapter

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

用#ifdef或类似的东西替换开关/外壳

我试图switch/case通过其他工具替换结构做同样的事情,但具有更好的性能(更少的执行时间...),我想到的#ifdef方法,但我不知道如何在这种情况下使用它:

float k_function(float *x,float *y,struct svm_model model)
{
    int i;
    float sum=0.0;
    switch(model.model_kernel_type)  
    {
    case LINEAR :
        return result1;
    case POLY :
        return result2;
    case RBF :
        return result3;
    case SIGMOID :
        return result4;
    default :
        return 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

PS:

typedef   enum   kernel_type   {LINEAR, POLY, RBF, SIGMOID};
Run Code Online (Sandbox Code Playgroud)

c conditional-compilation switch-statement

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

令人困惑的开关/案例结果

当然在发布此错误之前我搜索了它.下面的代码返回:错误CS0029:无法在两个位置隐式地将类型'bool'转换为'string'.我误解为什么下面的代码没有返回字符串?想一想Stack Overflow可能会给出什么建议我已经尽力明确地转换为字符串,但只是设法让自己感到困惑.

public static class Bob
{
    public static string Response(string statement)
    {
        string teststring = statement;

        bool IsAllUpper(string input)
        {
            for (int i = 0; i < input.Length; i++)
            {
                if (Char.IsLetter(input[i]) && !Char.IsUpper(input[i]))
                    return false;
            }
            return true;
        }

        switch(teststring)
        {
        case IsAllUpper(teststring) && teststring.EndsWith("?"):
            string final1 = "Calm down, I know what I'm doing!";
            return final1;   

        case teststring.EndsWith("?"):
            string final2 = "Sure";
            return final2;

        default:
            string final3 = "Whatever.";
            return final3;
        }
    } …
Run Code Online (Sandbox Code Playgroud)

c# switch-statement

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

如何在Case命令中创建多个条件?

例如:

var
 Msg: Cardinal;
case Msg of
      WM_CHAR:
      WM_KEYDOWN:
      WM_KEYUP:
        begin
         // Do something
        end;

    end;
Run Code Online (Sandbox Code Playgroud)

delphi switch-statement delphi-10-seattle

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

初学者:如何将随机生成的数字转换为从1到7的数字

我仍然是使用C语言进行编程的世界的初学者,如果您能得到我的帮助,我希望它!

#include <stdio.h> 
#include <stdlib.h> 
#include <time.h> 

int main()
{
    int week;

    /* Input week number from user */
    printf("Enter week number(1-7): ");
    scanf("%d", &week);

    switch(week)
    {
        case 1: 
            printf("Monday");
            break;
        case 2: 
            printf("Tuesday");
            break;
        case 3: 
            printf("Wednesday");
            break;
        case 4: 
            printf("Thursday");
            break;
        case 5: 
            printf("Friday");
            break;
        case 6: 
            printf("Saturday");
            break;
        case 7: 
            printf("Sunday");
            break;
        default: 
            printf("Invalid input! Please enter week number between 1-7.");
    }

    return 0;
}

Run Code Online (Sandbox Code Playgroud)

多数民众赞成在我想做的问题:

“编写一个C程序,该程序保留用户的数字,并生成1到7之间的整数,并显示工作日的名称。”

我目前唯一缺少的是我要让用户输入一个随机数,然后生成1到7之间的随机数

c random switch-statement random-seed

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

Scala 模式匹配方程大小写

如果可以x被 整除y,我想模式匹配,返回 true 但我似乎语法错误并且它一直崩溃。

def isDivisible (x: Int, y: Int) :Boolean = Int match {
    case (x % y == 0) => true
    case _ => false
}

isDivisible(10, 5)
Run Code Online (Sandbox Code Playgroud)

将方程作为个案的正确方法是什么

jvm functional-programming scala switch-statement

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

为什么我们不能在 switch 语句中使用关系表达式?

既然true falseC 中没有布尔类型,那么表达式的x == y计算结果是什么,什么时候为真,什么时候为假?

如果它的计算结果分别为 1 和 0,它们是整数,为什么我们不能caseswitch语句中使用s这样的表达式?

这背后的正确原因是:

  1. case 只允许整数表达式或计算为整数的表达式,而 x == y 不会计算为整数(我不知道如何计算)?或者
  2. 如果 switch 允许像 case 这样的表达式x==y,那么多个 case很有可能最终具有相同的值,即,无论何时,我们都会得到 1,因此多个这样的 case 将评估为 1 或 0;这在 switch 语句中是不允许的。

c switch-statement relational-operators

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