A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© FFF   /  2014-1-1 09:14  /  4080 人查看  /  39 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

下载下来  慢慢搞、、记得技术分:lol
回复 使用道具 举报
本帖最后由 刘旭升 于 2014-1-1 19:24 编辑

下午去图书馆,写好没能及时传上来,真悲剧。和楼上的有点像是了,但是我还没有看集合、、、所以就试用的很简单的方法了。。。
  1. import java.util.Scanner;
  2. /*
  3. 优化:
  4. 200
  5. 400  404  409  460        461~~465   471~488种情况;
  6. 原始:if else 格式。
  7. 准备使用字符窜解决。
  8.         第一步:把"情况代号"封装起来;
  9.                         使用数组封装,取角标值。//  int[]
  10.         第二布:把"情况"进行封装。
  11.                         字符窜数组,仅当角标一致时条件成立,调用成功。// String[];
  12. */
  13. public class optimize {
  14.         public static void main(String[] args){
  15.                 int[] option=new int[]{200,400,404,409,460,461,462,463, 464,465,471,472,474,475,476,477,479,480,481,482,483,484,485,486,487,488};
  16.                 String[] action=new String[]{"请求成功","错误的请求","没有找到访问页","登录冲突,请刷新页面再登录","请刷新页面再登录", "请刷新页面再登录","请刷新页面再登录","无效的查询参数", "缺失数据", "访问错误次数较多,请 + b.statusMsg + 分钟后再登录!", "无效的用户名" ,"未找到用户名或密码不正确","验证码不正确","用户未登录系统","无效的加密锁","密码不正确", "参数类型错误" ,   "参数错误" ,"已登录系统", "无效的跨域请求" ,"请使用加密锁登录", "用户状态未激活","活跃的用户","无效的用户","无效的用户", " 您的账户已锁定,请与管理员联系!"};
  17.                 Scanner reader=new Scanner(System.in);
  18.                 System.out.println("请输入序列号:");
  19.                 int a=reader.nextInt();boolean flag=true;//取得控制台的输入
  20.                 for(int i=0;i<option.length;i++)
  21.                         if(a==option[i]){
  22.                                 System.out.println(action[i]);//对准角标,实现打印。
  23.                                 flag=false;//用于控制 不正常状态下的情况。
  24.                                 }
  25.                 while(flag){
  26.                         System.out.println("未知错误,没有找到相关错误参数");
  27.                         return;
  28.                         }
  29.                 return;
  30.         }
  31. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 努力了!不一定成功,但一定有分!..

查看全部评分

回复 使用道具 举报
本帖最后由 刘旭升 于 2014-1-1 21:44 编辑
任亚俊 发表于 2014-1-1 20:33
思路很好,但效率没有HashMap高,因为用数组需要遍历数组,而HashMap则用了Hash算法,查找起来要快。 ...

集合我还没看,所以你说的我不太清楚。Hash还没有接触,不晓得内部处理的代码,不过数组有好处,也有坏处。遍历费事是不是就是其中的一个缺点呢?这题的优化,是优化代码的长度,和计算次数。但两者兼顾得需要更多的测试和研究。。。不过你还是挺厉害的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马