switch语句匹配字符串
来源:互联网 发布:邮储银行网络培训学院 编辑:程序博客网 时间:2024/05/23 14:19
JDK 7.0中switch语句匹配字符串就不必说了哈,下面只讨论在JDK6中的情况。
根据相关文档……switch语句是只能匹配整型数据的,匹配字符串的话编译器就会报错:类型不匹配。
怎么解决这个问题呢……拿本大厚书来说,你想找某个章节的内容肿么办?得先去看目录(大厚书么……),再找着那一章的名字,看那一章在哪一页上然后翻到那一页上去就找到了。
上面那个就是思路:
1.先搞一个字符串变量,里面存一些字符串作为目录。
这些字符串占的字符位数和间距都是固定的,这样哪个字符串在哪个位置就是明确的了,这每个字符串的位置就可以看作“页数”。
2.另一个字符串变量放的就是要匹配的其中一个字符串。
这个好比你要找的章节名称。
3.switch语句中每个case后的数字就是每个字符串的位置,这就是对应的“页数”。
4.怎么让程序看目录呢?用字符串的indexOf()函数即可返回页数,这样switch就找到了那一页。
通过这几步让就可以让switch成功匹配字符串。举个例子吧(~):
//设置一个字符串变量cmdList作为目录,存放的每个字符串都占9个位
//这样一来,每个字符串的位置都是9的倍数(从0开始计)
//(不够的用空格补,连间隔都算进去,这样是为了方便确定数字符串在哪个位置)
从以上程序可以看到,aimStr在目录中第5个位置,所以对应case 5: 这个标签。String cmdList = "welcome fasthlp noplayer admhlp usrhlp " +"reqpass passerr logs quis logf " +"noteno cmderr ";String aimStr="reqpass";switch(cmdList.indexOf(aimStr)/9){case 0: ...... //对应welcome break;case 1: ...... //对应fasthlp break;case 2: ...... //对应noplayer break;case 3: ...... //对应admhlp break;......}
0 0
- switch语句匹配字符串
- switch语句如何用字符串?
- java7 switch语句使用字符串
- Swift中switch语句的匹配
- Java常用判断语句收集:switch字符串
- C++ 中 switch case语句 处理字符串
- Switch Case语句中多个值匹配一个代码块的写法
- php switch语句多个值匹配同一代码块
- Switch Case语句中多个值匹配同一个代码块的写法
- Switch Case语句中多个值匹配一个代码块的写法
- 解决switch……case不能匹配字符串的方法
- switch……case不能匹配字符串的方法
- switch……case不能匹配字符串的方法
- 解决switch……case不能匹配字符串的方法
- jdk1.7以后的switch可以匹配字符串
- switch语句
- switch语句
- switch语句
- WPF 判断是否为设计(Design)状态
- 项目中用到的几个EXCEL函数
- Copy-On-Write技术
- 清空std::stringstream,联系到stream的clear()和清空
- Android 中颜色对应的值
- switch语句匹配字符串
- Android组件之ContentProvider
- ios+php推送教程(二)
- Java For Android - 操纵字符串中的字符
- 2013/1/11
- Kinect开发之结合Unity3D进行游戏应用开发
- HDU 1018(斯特林数)
- Android的TextView使用Html来处理图片显示、字体样式、超链接等
- 黑马程序员-泛型(浅识)