java - 在 switch 语句中使用 char 数据
问题描述
我正在尝试获取一个 case 语句,以使用从字符串中提取的 char 数据将整数添加到整数数组中。
int x = SString.length() - 1;
int[] values = new int[x + 1];
for (int i = 0; i <= x; i++) {
System.out.println(keyword.charAt(i));
switch (SString.charAt(i)) {
case 'a':
values[i] = 0;
case 'b':
values[i] = 1;
case 'c':
values[i] = 2;
System.out.println(values[i]);
}
}
我的预期输出是什么SString = abc
时候values = {0,1,2}
。相反,values = {2,2,2}
.
解决方案
你忘记了break
陈述。
switch (SString.charAt(i)) {
case 'a':
values[i] = 0;
break;
case 'b':
values[i] = 1;
break;
case 'c':
values[i] = 2;
break;
}
推荐阅读
- html - CSS 转换为 div 提供轮廓
- x86-64 - 64 位机器中虚拟地址的高 16 位设置为零。为什么?
- javascript - Height not increasing using setInterval (creating border around screen)
- java - 解释模拟匹配(str)与相同(str)的这种行为的原因
- angular - Angular6从HTML调用组件
- r - 从 R 中是和否值的两列导出列联真值表
- python - 使用 lambda 的字典理解将内存地址作为值返回
- python - python - 在混合类型列表中查找最后两个数字的索引
- javascript - 如何设置元素的索引
- c++ - 如何用强盗转换这个类型列表?