黑马程序员技术交流社区

标题: 2014年10月18日,华为javaEE上机题分享 [打印本页]

作者: xukunn    时间: 2014-10-31 16:08
标题: 2014年10月18日,华为javaEE上机题分享
本帖最后由 xukunn 于 2014-10-31 16:19 编辑

题目:键盘输入一串字符串,用‘,’隔开,都是数字。控制台输出大于等于平均值的个数。
样例输入:1,2,3,4,5
样例输出:3
要求:字符串长度不超过128,平均值四舍五入取整数。

提供Eclipse,代码直接粘贴到网页上,后台会有3组测试案例测试,总共可以提交5次。











作者: FlyFish    时间: 2014-10-31 16:24
计数器么
作者: xukunn    时间: 2014-10-31 16:51
FlyFish 发表于 2014-10-31 16:24
计数器么

是滴呀,,
作者: 冥夜    时间: 2014-10-31 17:07
数组存储数据,然后写个for遍历if判断为每次大于平均值count=count+1,嗯,应该就是这样
作者: xukunn    时间: 2014-10-31 21:26
冥夜 发表于 2014-10-31 17:07
数组存储数据,然后写个for遍历if判断为每次大于平均值count=count+1,嗯,应该就是这样 ...

嗯,就是还有一些细节的地方,比如字符串的处理,平均值四舍五入用到的函数
作者: 哈达洋    时间: 2014-10-31 23:28
  1. import java.io.*;
  2. class huaweitest
  3. {
  4.         public static void main(String[] args) throws Exception
  5.         {
  6.                 String str=null;
  7.                 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  8.                 str=br.readLine();
  9.                 method_1(str);
  10.         }

  11.         public static void method_1(String str)
  12.         {
  13.                 if(str.length()>128)
  14.                 {
  15.                         System.out.println("字符串长度大于128了,恕我无能为力..");
  16.                         return;
  17.                 }
  18.                 String[] strs = str.split(",");
  19.                 int len = strs.length;
  20.                 double[] ints=new double[len];
  21.                 double sum=0;
  22.                 for(int i=0;i<len;i++)
  23.                 {
  24.                         ints[i]=Integer.parseInt(strs[i]);
  25.                         sum=sum+ints[i];
  26.                 }
  27.                 int average=(int)Math.round(((double)sum)/len);
  28.                 int count=0;
  29.                 System.out.println("sum:"+sum+"....."+"average:"+average);
  30.                 for(int i=0;i<len;i++)
  31.                 {
  32.                         if(ints[i]>=average)
  33.                         {
  34.                                 count++;
  35.                         }
  36.                 }
  37.                 System.out.println("count:"+count);
  38.         }
  39. }
复制代码

作者: noiary    时间: 2014-10-31 23:57
很棒的基础题
作者: OCTSJimmy    时间: 2014-11-1 00:33
这题考:
1、输入流(键盘录入)
     -->这里还有输入后的判定,(录入数据不达标、过长),有多种处理方式:a、自定义异常 b、无限循环直至录入正确
2、字符串切割(最简单正则)
3、集合(切割后的字符串存储)
4、类型转换(字符串转浮点,为什么是浮点——有可能输入小数啊)
5、循环(合计求值)
6、还是循环(判定并计数)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2