首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何让switch语句在输入无效时循环返回

要让switch语句在输入无效时循环返回,可以使用一个循环结构(如while循环)来包裹switch语句,并设置一个标志变量来判断是否需要继续循环。具体步骤如下:

  1. 定义一个标志变量,例如isValid,初始值为false。
  2. 使用一个while循环,循环条件为isValid为false。
  3. 在循环内部,提示用户输入需要判断的值。
  4. 使用switch语句对用户输入的值进行判断。
  5. 如果输入的值有效,执行相应的操作,并将isValid设置为true,跳出循环。
  6. 如果输入的值无效,给出提示信息,并保持isValid为false,继续下一轮循环。

以下是一个示例代码:

代码语言:txt
复制
boolean isValid = false;
while (!isValid) {
    System.out.println("请输入需要判断的值:");
    int input = // 从用户输入获取值的代码

    switch (input) {
        case 1:
            // 执行相应的操作
            isValid = true;
            break;
        case 2:
            // 执行相应的操作
            isValid = true;
            break;
        default:
            System.out.println("输入无效,请重新输入。");
            break;
    }
}

在这个示例中,当用户输入的值为1或2时,执行相应的操作,并将isValid设置为true,跳出循环。如果用户输入的值不是1或2,则给出提示信息,并保持isValid为false,继续下一轮循环,直到用户输入有效的值为止。

请注意,以上示例代码是Java语言的示例,如果使用其他编程语言,语法会有所不同,但基本思路是相似的。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C语言新手小白详细教程(3)选择语句

序(一些闲话) 我希望我的语言不要像专业书那样让人眼花缭乱,所以当我解释语法时,我会尽量避免使用太多专业术语,让说明更容易理解。我会用通俗易懂的语言来解释,而不是像专业书籍那样让人感到困惑。...在没有选择结构和循环结构参与的情况下,程序默认按照顺序结构执行。顺序结构是编程的基础,也是计算机内在逻辑的基础。...在计算机中,在没有分支和循环结构参与的情况下,所有的程序都是默认的顺序结构,即程序是顺序执行的,所以顺序结构没有必要单独讲解,因为它是默认的执行方式。但它是编程和计算机内在逻辑的基础。...在日常生活中,我们经常需要在不同的选项之间做出选择。例如,在处理文件时,我们可能会面临保存或不保存的选择。如果选择保存,计算机将保存文件并退出;如果选择不保存,计算机将执行不同的处理操作。...} else if (score = 0) { printf("Class D\n"); } else { printf("输入的分数无效

10910

《C++Primer》第五章 语句

空语句 如果在程序的某个地方,语法上需要一条语句但是逻辑上不需要,此时应该使用空语句。一种常见的情况是,当循环的全部工作在条件部分就可以完成时,我们通常会使用到空语句。...语句作用域 可以在if、switch、while和for语句的控制结构内定义变量。定义在控制结构中的变量只在相应语句的内部内可见,一旦语句结束,变量也就超出其作用范围了。...1. while语句 while (condition) statement 定义在while条件部分或者while循环体内的变量每次迭代都经历从创建到销毁的过程 当不确定需要迭代多少次时,使用...end函数的值变得无效 do while语句 do while语句和while语句基本一致,唯一的区别在于不管条件的值如何,do while都会至少执行一次循环: do statement while...当创建此类对象时,必须提供初始值,该初始值含有错误相关的信息。 异常类型只定义了一个名为what的成员函数,返回值是一个指向C风格字符串的const char*,用于提供关于异常的一些文本信息。

1K20
  • 抽丝剥茧C语言(中阶)分支与循环练习

    如上循环,等i=101时就会跳出循环,所以就生成了1到100之间的数。 判断我们只需要一个if就可以了,因为只是让我们打印奇数,不是让你判断是不是奇数,所以没用else。 盲盒!...语句之后,判断条件是n等于1,为真,进入之后进入对应的case 1的这个语句,然后从上往下运行,直到case 3然后判断第二个switch语句,因为经过上面的计算,n=2,m=3,所以进入第二个switch...语句中的case 2,,计算完之后break跳出第二个switch语句,到第一个switch语句的case 4进行计算,计算完之后跳出第一个switch语句。...原理也就是通过循环制造三次条件,然后用if语句判断对错: int main() { char psw[10] = "" ;//这是储存你要输入字符串的空间。...首先,我们要做一个游戏菜单,把它放在自定义函数里面,代码如下: void menu()//函数名为menu,因为只需要调用一下这个函数打印游戏菜单,所以返回类型是void,不需要返回任何值,因为在menu

    33200

    成为优秀Swift开发者的10条建议

    连接越多 → 额外输入越少 → 错误更少 → bug越少 → 问题越少。 6. 类型安全枚举 举例:售票 ?...“Adult”, “Child”, “Senior” → 这是在硬编码,逐一地将每个情况的字符串打出来,万万不可。上面已经解释过,写太多会出什么问题。我们可一点都不喜欢打字。 ?...如果switch语句超过指定枚举的范围遇到一些未知情况,左边发生红色错误(),Xcode会报警。—— 找不到合适的表情啦。 7. 无效合并 举例:用户选择Twitter主题色 ?...上边代码的意思是,如果userChosernColor返回零值(无效),选择defaultColor (red),否则,选择userChosenColor. 8....review上面的for循环太浪费时间了,其实可以更清晰一些。 ? 函数式编程是现象级的,会让你变得更聪明。 10. Closure vs Func ? 不需要记住函数和变量的名字。 ?

    57820

    JavaScript 简介

    ; break; default: } } 也可以向switch语句传递字符串之外的其他值。...可以在switch语句中使用数字值,甚至对数学计算的结果进行评估。...ans是true,就意味着用户没有输入任何内容。内置的isNaN()方法检查传递给它的参数是否“不是数字”(Not a Number)。如果isNaN()返回true,就说明输入的内容是无效的。...但是,如果浏览器不理解这个对象,测试就返回false,并执行条件语句的else部分。...然后就可以让脚本以一种方式为某些浏览器服务,而对其他浏览器采用另一种方式。这是一种已经过时的脚本编程方法,因为它的效果不太好。 处理数组 数组(array)。数组是一种可以存储一组信息的变量。

    47410

    【C语言程序设计——函数】分数数列求和1(头歌实践教学平台习题)【合集】

    if 语句是最基础的形式,当条件为真时执行其内部的语句块;if - else 语句在 if 条件不成立时提供了另一个可执行的语句块,确保在两种不同条件结果下程序都有明确的执行路径;switch 语句则适用于针对一个表达式的多个固定值进行判断...当有多个固定的选项时,可以使用switch语句。...break语句,跳出switch结构;如果choice的值与所有case常量都不匹配,就会执行default分支下的语句,提示用户输入无效。...循环条件是一个表达式,它返回一个布尔值(真或假)。在循环体中,通常需要包含一些能够改变循环条件的语句,否则可能会导致无限循环。...当程序执行到break语句时,循环或switch语句会立即终止,程序控制流将跳转到循环或switch语句后的下一条语句。

    4800

    JavaScript 入门基础 - 流程控制(四)

    在js中有两种分支语句: if 语句 switch 语句 3.2 if 语句 3.2.1 if 语句基本理解 if语句由 小括号()、条件表达式、大括号、执行语句构成: if (条件表达式) { //...if 语句后面的其他语句 3.2.3 if 语句案例 进入网吧 弹出输入框让用户输入年龄,把年龄保存到变量中 使用 if 语句判断年龄是否大于18,大于则执行if 中的语句 var age = prompt...基本思路: 闰年:能被4整除且不能整除100的年份,或者能够被400整除的年份 弹出输入框,让用户输入年份,然后保存到变量中 用if else 语句判断是闰年还是平年 实现代码: var year =...但分支较多时,switch语句的执行效率比较高,而且结构更加清晰。 7. 循环控制 7.1 循环控制基本理解 循环的目的:在开发中,我们需要重复大量的执行某一些代码,即对一些代码做有规律的重复操作。...7.5 while循环 7.5.1 while循环基本理解 while循环可以在条件表达式为真时,循环执行指定的一段代码,知道条件表达式不为真结束循环。

    97030

    Java50个关键字总结

    使用assert时不能在表达式中完成任何程序实际所需的行为(只能做判断)。因为正常发布的代码都是断言无效的,即正常发布的代码中断言语句都不不执行的。 ...19.finally  finally在try/catch语句块中处理一些后续的工作。例如关闭网络连接和输入输出流等。 ...如果在try/catch中使用return,则finally会撤销这个return,无论如何都会执行finally中的语句。 ...default:语句; } 若变量和case后的值相等则执行语句。当语句执行到break时跳到switch块后,如果没有break会产生穿透现象。...default分支必须为最后一个分支,在没有值和case变量相等时执行该语句。  42.synchronized  synchronized关键字用于保证线程安全。

    59200

    Java50个关键字总结

    使用assert时不能在表达式中完成任何程序实际所需的行为(只能做判断)。因为正常发布的代码都是断言无效的,即正常发布的代码中断言语句都不不执行的。 ...19.finally  finally在try/catch语句块中处理一些后续的工作。例如关闭网络连接和输入输出流等。 ...如果在try/catch中使用return,则finally会撤销这个return,无论如何都会执行finally中的语句。 ...default:语句; } 若变量和case后的值相等则执行语句。当语句执行到break时跳到switch块后,如果没有break会产生穿透现象。...default分支必须为最后一个分支,在没有值和case变量相等时执行该语句。  42.synchronized  synchronized关键字用于保证线程安全。

    63500

    Java 流程控制

    nextLine(): 以 Enter为结束符,也就是说 nextLine0方法返回的是输入回车之前的所有字符。 可以获得空白。...条件测试是一个关系表达式,它决定何时退出循环。 再求值参数定义每次执行循环时,循环控制变量如何变化。 for 循环的三个部分必须用分号 ; 隔开。...其作用域限定在循环语句块,其值与此时数组元素的值相等。 表达式: 表达式是要访问的数组名,或者是返回值为数组的方法。...我们大多数情況是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。 少部分情况需要循环一直执行,比如服务器的请求响应监听等。...( breaki语句也在 switch语句中使用) continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

    93120

    Java50个关键字总结「建议收藏」

    使用assert时不能在表达式中完成任何程序实际所需的行为(只能做判断)。因为正常发布的代码都是断言无效的,即正常发布的代码中断言语句都不不执行的。...boolean a = true; boolean b = false; 4.break break在switch中用于跳出switch块,停止switch向下穿透的现象。...19.finally finally在try/catch语句块中处理一些后续的工作。例如关闭网络连接和输入输出流等。...default:语句; } 若变量和case后的值相等则执行语句。 当语句执行到break时跳到switch块后,如果没有break会产生穿透现象。...default分支必须为最后一个分支,在没有值和case变量相等时执行该语句。 42.synchronized synchronized关键字用于保证线程安全。

    1.1K30

    Java50个关键字总结

    使用assert时不能在表达式中完成任何程序实际所需的行为(只能做判断)。因为正常发布的代码都是断言无效的,即正常发布的代码中断言语句都不不执行的。 ...19.finally  finally在try/catch语句块中处理一些后续的工作。例如关闭网络连接和输入输出流等。 ...如果在try/catch中使用return,则finally会撤销这个return,无论如何都会执行finally中的语句。 ...default:语句; } 若变量和case后的值相等则执行语句。当语句执行到break时跳到switch块后,如果没有break会产生穿透现象。...default分支必须为最后一个分支,在没有值和case变量相等时执行该语句。  42.synchronized  synchronized关键字用于保证线程安全。

    58900

    江哥带你玩转C语言 | 07 - C语言流程控制

    break; } 语义: 计算"表达式"的值, 逐个与其后的"常量表达式"值相比较,当"表达式"的值与某个"常量表达式"的值相等时, 即执行其后的语句, 然后跳出switch语句 如果"表达式"的值与所有...转换 看上去if和switch都可以实现同样的功能, 那么在企业开发中我们什么时候使用if, 什么时候使用switch呢?..."); // 3.执行"能够让循环结束的语句" count = 1 // 6.执行"能够让循环结束的语句" count = 2 // 9.执行"能够让循环结束的语句...\n"); // 没有能够让循环结束的语句 } } 当while后面只有一条语句时,while后面的大括号可以省略 #include int main(){..., 才使用dowhile do while 曾一度提议废除,但是他在输入性检查方面还是有点用的 ---- 循环结构for 格式: for(初始化表达式;循环条件表达式;循环后的操作表达式) {

    1.6K00

    第三章:流程控制语句

    ,才会去判断内部的条件 其他说明: 语句块只有一条执行语句时,一对{}可以省略​,但建议保留 当 if-else 结构是 “多选一”时 ,最后 else是可选的 , 根据需要可以省略 2.3 switch-case...break语句用来在执行完一个case分支后使程序跳出switch语句块; 如果没有break,程序会顺序执行到switch结尾; default子句是可选的。...利用case的穿透性: 在switch语句中,如果case的后面不写break,将出现穿透现象,也就是一旦匹配成功,不会在判断下一个case的值,直接向后运行,直到遇到break或者整个switch语句结束...switch语句优势 当条件是判断某个变量或表达式是否等于某个固定的常量值时,使用if和switch都可以,习惯上使用switch更多。因为效率稍高​。...如何选择 遍历有明显的循环次数(范围)的需求,选择for循环 遍历没有明显的循环次数(范围)的需求,选择while循环 如果循环体语句块至少执行一次,可以考虑使用do-while循环 本质上:三种循环之间完全可以互相转换

    12210
    领券