switch-statement相关内容

是否有人不同意以下说法:“使用 switch 是糟糕的 OOP 风格"?

我已经看到它在 stackoverflow 上的多个线程/评论中编写,使用 switch 只是糟糕的 OOP 风格.我个人不同意这一点. 在很多情况下,您无法将代码(即方法)添加到要打开的 enum 类中,因为您无法控制它们,可能它们位于第 3 方 jar 文件中.在其他情况下,将功能放在枚举本身是一个坏主意,因为它违反了一些关注点分离的考虑,或者它实际上是其他东西的功能以及枚举. 最 ..
发布时间:2022-01-19 10:49:37 Java开发

是否可以将 goto 与 switch 一起使用?

C# 似乎可以,但我需要 C++,最好是跨平台. 基本上,我有一个开关,可以根据单个条件对内容进行排序,然后在其他所有内容上回退到默认处理. 说: 开关(颜色){案例绿色:红色案例:案例蓝色:画();休息;黄色案例:if(AlsoHasCriteriaX)画();别的转到默认值;休息;默认:Print("难看的颜色,没有油漆.")休息;} 解决方案 不完全是,但你可以这样做: ..
发布时间:2022-01-19 10:49:29 C/C++开发

如何使用红宝石"案例...当“不平等?

你能在 ruby​​ 中做到这一点吗?它似乎“错过"了不平等的情况 case myvar当 myvar 0去做某事C结尾 解决方案 你混合了两种不同类型的 case 语句: case 变量当 1做一点事当 2..3做点别的结尾案件当 var == 1做一点事当 var ..
发布时间:2022-01-19 10:49:22 其他开发

JavaScript,Typescript switch 语句:两种情况下运行相同代码的方式?

有没有一种方法可以在不复制和粘贴的情况下将两个不同的 case 值分配给同一个代码块?比如68以下和40应该执行相同的代码,而30是不相关的. 案例68://做一点事休息;案例40://做同样的事休息;案例 30://做一些不同的事情休息; 认为这样的事情应该有效(即使它显然没有)是不正确的吗? 案例 68 ||40://做一点事休息;案例 30://做其他事情休息; 解决方案 把它们一 ..
发布时间:2022-01-19 10:49:14 前端开发

在 Python 中选择不同的 switch-case 替换 - 字典还是 if-elif-else?

我最近阅读了建议不要在支持它的语言中使用 switch-case 语句的问题.就 Python 而言,我已经看到了许多 switch case 替换,例如: 使用字典(许多变体) 使用元组 使用函数装饰器(http://code.activestate.com/recipes/440499/) 使用多态(推荐方法而不是类型检查对象) 使用 if-elif-else 阶梯 甚至有人推 ..
发布时间:2022-01-19 10:49:06 Python

如何添加“或"在 switch 语句中?

这就是我想做的: switch(myvar){案例:2 或 5:...休息;案例:7 或 12:...休息;...} 我尝试使用 "case: 2 || 5" ,但没有成功. 目的是不要为不同的值编写相同的代码. 解决方案 通过堆叠每个 switch case,你实现了 OR 条件. switch(myvar){案例2:案例5:...休息;案例7:案例 12:...休息;... ..
发布时间:2022-01-19 10:48:55 C#/.NET

C++ 强制编译时错误/警告开关中的隐式失败

switch 语句非常有用,但会导致程序员忘记 break 语句的常见错误: switch(val) {案例0:富();休息;情况1:酒吧();//哎呀案例2:巴兹();休息;默认:房间();} 您显然不会收到警告,因为有时明确需要失败.好的编码风格建议在你故意失败时发表评论,但有时这还不够. 我很确定这个问题的答案是否定的,但是:目前(或将来提出)有什么方法可以要求编译器抛出错误(或至 ..
发布时间:2022-01-19 10:48:48 C/C++开发

是否使用 if (0) 跳过应该工作的开关中的一个案例?

我有一种情况,我希望 C++ switch 语句中的两种情况都落入第三种情况.具体来说,第二种情况会通过第三种情况,第一种情况也会通过第三种情况不通过第二种情况. 我有一个愚蠢的想法,尝试了它,它成功了!我将第二种情况包装在 if (0) { ... } 中.它看起来像这样: #ifdef __cplusplus# 包括 #别的# 包括 #万一诠释主要(无 ..
发布时间:2022-01-19 10:48:41 C/C++开发

在 switch 中使用数组作为 case 语句

我正在尝试做这样的事情,即在 switch 语句中使用数组.在Java中可能吗?如果不是,请说明一个可能的解决方案. boolean[] values = new boolean[4];值 [0] = 真;值[1] = 假;值[2] = 假;值[3] = 真;开关(值){案例[真,假,真,假]:休息;案例[假,假,真,假]:休息;默认:休息;} 解决方案 NO,你根本做不到. Switch ..
发布时间:2022-01-19 10:48:24 Java开发

导致 java:240 的 switch 语句(可能尚未初始化)

我正在尝试根据输入将值存储在变量中: switch(意大利辣香肠) {案例“Y":案例'y':浇头1 = 1;休息;案例“N":案例“n":浇头1 = 0;休息;默认:{System.out.print("这不是一个有效的响应,请再试一次\n");System.out.print("你要意大利辣香肠吗?(Y/N):");意大利辣香肠 = scan.next().charAt(0);休息;} 我 ..
发布时间:2022-01-19 10:47:45 Java开发

在特定时间段内禁用 Android 应用程序上的按钮

我正在 android studio 中构建一个登录风格的应用程序.作为其中的一部分,我创建了一个规则,如果监视无效登录尝试次数的计数器变为 0.我目前知道当计数器变为 0 时,登录按钮被禁用.我想知道是否有任何方法可以在一段时间内禁用此按钮,而不是无限期? 开关(计数器){案例0:b1.setEnabled(false);休息;情况1:tx1.setBackgroundColor(Color. ..
发布时间:2022-01-19 10:47:29 Java开发

JavaScript函数没有将我的参数传递给其他函数

我遇到了一个问题,我试图将参数从一个函数发送到另一个函数,接收参数的函数使用 switch 语句对其进行评估并返回它,但它只返回我放入其中的任何变量例如,而不是“高级大师".这是我不明白我做错了什么的代码,请记住我对编码很陌生,也许有人可以给我一些指示.提前致谢. 函数calculatexxx(x) {让计算xxx= x;开关 (x) {情况(x >= 2400):console.log("高级 ..
发布时间:2022-01-19 10:47:22 前端开发

C execv() 函数是否终止子进程?

这是我的代码的细分. 我有一个程序可以派生一个孩子(并将孩子的 pid 注册到一个文件中),然后做自己的事情.孩子成为程序员用 argv 有尊严的任何程序.当子进程完成执行时,它会向父进程发送一个信号(使用 SIGUSR1),以便父进程知道从文件中删除子进程.父级应该停止一秒钟,通过更新其表来确认已删除的条目,然后从中断的地方继续. pid = fork();开关(PID){情况1:{退出 ..
发布时间:2022-01-19 10:46:56 其他开发

swift中的开关错误?- “切换必须是详尽无遗的,考虑添加一个默认子句."

我很肯定下面的 swift 代码已经涵盖了所有可能性,但 Xcode 一直告诉我,“切换必须是详尽的,考虑添加一个默认子句." 谁能告诉我我错过了什么?谢谢. 让 a = false让 b = 假让 c = 假func 测试(a:布尔,_ b:布尔,_ c:布尔){开关 (a, b, c) {案例(真,假,_):print("左移!!!")案例(真,真,_):print("向右移动!!!" ..
发布时间:2022-01-19 10:46:32 移动开发

break 和 switch 似乎执行所有 case 语句

在 Java 和 Eclipse (Kempler) 的最新稳定版本中,输入以下代码并执行,假设包名和类名存在: package some_package;公共类what_the_heck {公共静态无效主要(字符串[]参数){诠释 p = 2;诠释 x = 1;开关(p){情况1):X - ;案例(2):x = 2;案例(3):x = 3;默认:x++;}System.out.println( ..
发布时间:2022-01-19 10:46:23 Java开发

java中Switch语句中整数类型的使用

我在 java 中为我的 android 应用程序编写了一些简单的代码,但出现了这些错误. case 表达式必须是常量表达式,而 private static final Integer 是常量 private static final Integer INVALID_USER = 901;私有静态最终整数 SENDING_FAILED = 902;私有静态最终整数 OK = 903;/* ..
发布时间:2022-01-19 10:46:13 Java开发

C - 用户输入被跳过?

我想要一个菜单​​,您可以从中选择一些操作. 问题是当我们选择一个并按下“return"键时,应该是下一步的用户输入命令被跳过了.这是为什么呢? 代码是: #include #include int main(int argc, char *argv[]){整数选择;做{printf("菜单\n\n");printf("1. 这样做\n");pr ..
发布时间:2022-01-19 10:46:05 其他开发

麻烦使多态性打败那些 switch/case 语句

继续前面的问题(此处,以及这里),我实现了一个基本的命令模式,创建了我的命令类并编码到一个接口,所以当使用任何命令时,调用 execute() 方法. 但是,我仍然发现自己无法动摇这些案例陈述:我正在从一个主/决策字符串中读取每个字符,该字符串由随机重复的字符 A、B、C 或 D 组成,然后我检索从地图中执行命令的相关实现并调用其执行方法. 我的设计是这样的: 公共接口命令{无效执行 ..

Swift switch 语句考虑了所有 Int 情况,但编译器仍然显示错误

我知道 Swift 中的 switch 语句必须是详尽的,否则我们必须提供默认情况.我在网上看到下面的代码,switch语句已经覆盖了Int中的所有情况,但是编译器仍然显示switch must be穷举的错误信息,考虑添加一个default子句.我有什么遗漏吗? 扩展 Int {枚举种类 {case 负、零、正}变种:种类{切换自我{案例0:返回.零案例让 x 其中 x >0:返回 .Posi ..
发布时间:2022-01-19 10:45:50 移动开发