gpt4 book ai didi

java - 带有字符串错误输出的 Switch 语句

转载 作者:行者123 更新时间:2023-11-29 06:49:07 25 4
gpt4 key购买 nike

我遇到了这个基本问题,其中 switch case 与字符串一起使用。

break 语句不在 case 之间使用,但为什么即使它不匹配 case 字符串,它也会适用于所有 case?

所以我很想知道为什么输出的是3而不是1?

 public static void main(String [] args)
{
int wd=0;

String days[]={"sun","mon","wed","sat"};

for(String s:days)
{
switch (s)
{
case "sat":
case "sun":
wd-=1;
break;
case "mon":
wd++;
case "wed":
wd+=2;
}
}
System.out.println(wd);
}

最佳答案

case "mon" 末尾没有 break;,因此值也增加 2

你没想到的是,流程:

0    -1   -1   +1+2  +2 = 3
^ ^ ^ ^ ^
init sat sun mon wed

如下添加中断将导致输出 1

case "mon":
wd++;
break;

关于java - 带有字符串错误输出的 Switch 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55514434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com