例子: 传过来一个int的1-100的参数。我要对它进行分组。值为1,5,9称为a组,值为2,22,3称为b组,值为4,8称为c组,值为55,66,77称为d组,剩余的称为e组。 除了以下这种算法还有啥比较好的算法么,总觉得==1 5 9 之类的写在代码里意义有些不明。 例如定义枚举,list之类:
if(parameter==1 || parameter==5 || parameter==9) {
    return “a组”;
} else if(parameter==2 || parameter==3 || parameter==2) {
    return “b组”;
} else if(parameter==4 || parameter==8) {
    return “c组”;
} else if(parameter==55 || parameter==66 || parameter==77) {
    return “d组”;
} else {
    rentun “e组”;
}多谢!

解决方案 »

  1.   

    没那个必要吧。
    用 switch case 比你那个可读性强点儿。
    没有必要用什么枚举,list
      

  2.   

    你说的传入参数是什么意思?键盘输入?方法的形参传入?还有1-100个int参数??也就是说无限量是吧?
    比如是用键盘输入的可以采用一次行读全部输入数据,然后用正则表达式替换然后输出对应的a b这些结果
      

  3.   

    定义个MAP也可以,扩展性也强。
    比如配置
    1=a组
    9=a组
    2=b组
    ……
    然后再读入map<int,String>中
    代码就只需要一句话
    return map.get(parameter)
    业务需求有变动的话,只需要修改配置
      

  4.   

    参数的传递,到不是重点,switch case 其实也差不多吧, 我现在就是比较纠结数据结构
    3L那位大哥 能写点相应的代码么。 枚举是不是还是要循环判断?
      

  5.   

    switch的代码可读性会好很多,这个枚举其实也并不好搞