首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 如何写好多分支语句,条件是字符窜 [已结贴,结贴人:moodoasis]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-12 08:32:30 楼主
    现在的项目中,判断的是字符窜,么有办法用switch case,可是要是用else if,显得很乱,怎么办,谢了
    80  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-12 08:34:291楼 得分:1
    MD5将字符串系列话为数字
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-12 08:34:592楼 得分:8
    或者用枚举
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-12 08:40:173楼 得分:0
    从大到小
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • anqini
    • 等级:
    发表于:2008-06-12 08:43:274楼 得分:0
    那就光用if呗~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-12 08:47:405楼 得分:8
    不觉得if else 和 switch差不多吗?
    groovy可以支持字符串,java好像还是不行,能不能考虑下 hashCode,呵 ,乱想
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-12 08:50:066楼 得分:1
    那就用 vector或者hashmap之类的东西

    多看看数据结构
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-12 08:50:407楼 得分:1
    配置文件
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-12 09:03:498楼 得分:0
    20多个分支啊,我的天啊,枚举,好像不错
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-12 09:05:579楼 得分:5
    代码长点儿不很正常嘛
    用if挺好的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-12 09:08:4110楼 得分:5
    何必舍近求远,我觉得用if很好
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-12 12:02:0111楼 得分:8
    Java code
    public enum ***{ }

    应该可以
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-12 12:06:4212楼 得分:5
    if 挺好~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-12 13:21:1313楼 得分:10
    引用 2 楼 lastsweetop 的回复:
    或者用枚举


    引用 5 楼 laorer 的回复:
    不觉得if else 和 switch差不多吗?
    groovy可以支持字符串,java好像还是不行,能不能考虑下 hashCode,呵 ,乱想


    支持这二楼的观点
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • tavor
    • 等级:
    发表于:2008-06-12 13:36:4914楼 得分:5
    mark

    不过一般if是必须的,很难去除掉,看着也还算清晰呀
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-12 14:03:3615楼 得分:5
    是啊,只能用 if...else 了,用枚举的话,还得先构造个枚举类,也挺麻烦的。

    感觉还可以啊,switch 中的 case 是占一行,这样也是占一行。。。

    Java code
    if( ) { } else if ( ){ } else if ( ){ } else if ( ){ } else if ( ){ } else if ( ){ } else { }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-12 14:05:4016楼 得分:5
    你是根据不同的字符串调用不同的方法么?

    不清楚你具体的逻辑是怎样的,只能想到用 if...else
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zidasine
    • 等级:
    发表于:2008-06-12 16:44:2217楼 得分:5
    一列if也不错
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-12 17:19:5618楼 得分:1
    你这几个就叫多了啊。。你没看过别人的程序吗??还有更多的if...elseif ...else if ...else if....else  足足有一堆 这样的条件判断语句!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-12 19:34:2519楼 得分:1
    要看具体字符串的规律
    否则很难想
    能用switch优先switch
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-13 11:13:5620楼 得分:5
    我觉得switch和if差不多,只是看起来代码整齐一点而已.
    以前好像在什么地方看过,说尽量不要用else,只用if。这样更严谨一点。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • puton
    • 等级:
    发表于:2008-06-13 15:03:4421楼 得分:1
    java 里有枚举吗??!!!!

    hashcode()+switch比较好吧

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-13 15:09:2422楼 得分:0
    .....
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-16 08:58:1823楼 得分:0
    谢谢大家,我最后把条件全放到了2维数组里,然后循环数组,数组的[i][0]放的是标志位,[i][1]是原来的比较值,[i][2]是 调用的方法名,这回if也没用,switch也没用,不知道这种写法好不好呢,反正现在是能用,呵呵
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • tavor
    • 等级:
    发表于:2008-06-16 09:24:4924楼 得分:0
    嗯,想起来了,一个避免过多分支的写法就是利用二维或多维数组的table-based的方法
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-30 18:22:4925楼 得分:0
    引用 23 楼 moodoasis 的回复:
    谢谢大家,我最后把条件全放到了2维数组里,然后循环数组,数组的[i][0]放的是标志位,[i][1]是原来的比较值,[i][2]是 调用的方法名,这回if也没用,switch也没用,不知道这种写法好不好呢,反正现在是能用,呵呵


    呵呵.支持,但建意用IF ESLE.

    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved