华为笔试题目做题-1

来源:互联网 发布:怎么看对手人群数据 编辑:程序博客网 时间:2024/06/05 14:08

题目:输入整型数组求数组的最小数和最大数之和,例如输入1,2,3,4则输出为5,当输入只有一个数的时候,则最小数和最大数都是该数,例如只输入1,则输出为2;另外数组的长度不超过50

虽然题目简单,但是据说是要给后台测试经过严格测试才算通过,比如各种边界检查,当然也有可能我想多了。

static public void get(){InputStreamReader ir ;BufferedReader br;ir = new InputStreamReader(System.in);br = new BufferedReader(ir);System.out.println("输入数组长度1~50");int length= 0;boolean flag = false;do{try {String inlength = br.readLine();length = Integer.parseInt(inlength);if(length > 50 || length < 1){System.out.println("输入范围有误");flag = true;}else{System.out.println("范围合法");flag = false;}} catch (Exception e) {// TODO: handle exceptionSystem.out.println("输入范围有误");flag = true;}}while(flag);List<Integer> IntArray = new ArrayList<Integer>();int times = 0;int num = 0;do{try {times++;if(times > length){System.out.println("输入数据结束");break;}System.out.println("请输入第"+times+"个数据");String innum = br.readLine();num = Integer.parseInt(innum);IntArray.add(num);flag = true;} catch (Exception e) {// TODO: handle exceptionSystem.out.println("输入数字不是整型");times--;flag = true;}}while(flag);int min = IntArray.get(0);int max = IntArray.get(0);for(int index = 0;index < IntArray.size();index++){System.out.print(IntArray.get(index)+" ");if(min > IntArray.get(index)){min = IntArray.get(index);}if(max < IntArray.get(index)){max = IntArray.get(index);}}System.out.println();System.out.println("最小值:"+min);System.out.println("最大值:"+max);int result = min+max;System.out.println("结果:"+result);}


0 0
原创粉丝点击