黑马程序员技术交流社区

标题: 今天面试遇到的问题 [打印本页]

作者: 1499744937    时间: 2016-6-21 23:32
标题: 今天面试遇到的问题
已知数组int arr[]={2,3,4,2,4};(10分)a.    计算出该数组的平均数(2分)b.    并将大于平均数的元素存放到当前根目录下number.txt中(以追加的方式添)怎么做呢
作者: lionc123    时间: 2016-6-22 00:14
谢谢分享
作者: yuanjun52306    时间: 2016-6-22 02:19
new FileWriter(file, append)
作者: 戎马生涯    时间: 2016-6-22 08:43
本帖最后由 戎马生涯 于 2016-6-22 08:48 编辑

public class  Test{   
              public static void main(String[] args) throws Exception {   
                                     int arr[] = {2,3,4,2,4};                 
                                           int sum = 0;               
                                     int max = arr[0];//假设第0个元素是最大值               
                                     int min = arr[0];//假设第0个元素是最小值              
                                            for(int i = 0;i<arr.length;i++) {                        
                                                          sum +=arr;                        
                                                       if(max<arr) {                                
                                                           max = arr;                       
                                                      }                        
                                                     if(min>arr) {                                 
                                                           min = arr;                        
                                                  }                 
                                  }                 
                                           /  /计算平均分               
                                         double avg = sum*1.0/arr.length;               
                                                     System.out.println("该数组的平均分:"+avg+" , 最大值:"+max+" , 最小值:"+min);               
                                      //调用方法                 
                                          writeArrFile(arr,avg);                  
                   private static void writeArrFile(int[] arr, double avg) throws Exception {               
                                   DataOutputStream dos = new DataOutputStream(new FileOutputStream("number.txt",true));               
                                                      for (int i : arr) {                        
                                                               if(i>avg) {                                
                                                             dos.writeInt(i);                        
                                                                 }               
                          }               
                               //3.关闭流               
                                      dos.close();
                   }
}

作者: 孟小垚    时间: 2016-6-22 12:34
谢谢分享!学习!努力
作者: jannnonx    时间: 2016-6-22 16:56
谢谢楼上的分享!!!
作者: 1499744937    时间: 2016-6-22 18:10
谢谢大神的解答
作者: 18611643318    时间: 2016-6-22 18:12
  1. package com.heima.test;

  2. import java.io.File;
  3. import java.io.FileWriter;
  4. import java.io.IOException;

  5. /**
  6. * 已知数组int arr [] = {2,3,4,2,4};(10分)
  7. * a.    计算出该数组的平均数(2分)
  8. *         b.    并将大于平均数的元素存放到当前根目录下number.txt中(以追加的方式添)怎么做呢
  9. * @author Venus
  10. *
  11. */
  12. public class Test15 {
  13.         public static void main(String[] args) throws IOException {
  14.                 //定义题中的数组
  15.                 int arr [] = {2,3,4,2,4};
  16.                 //下面求和,定义初始化值0;
  17.                 int a = 0;
  18.                 for (int i = 0; i < arr.length; i++) {
  19.                         a = a + arr[i];
  20.                 }
  21.                 //得到sum和a,求的平均数b;
  22.                 double b = a/arr.length;
  23.                 System.out.println("平均数是:"+b);
  24.                 //定义字符输出流,追加方式
  25.                 File file = new File("number.txt");
  26.                 FileWriter fw = new FileWriter(file,true);
  27.                 for (int i = 0; i < arr.length; i++) {
  28.                         if(arr[i] > b){
  29.                                 //输出每个大于平均数的的字符
  30.                                 fw.write(arr[i]+",");
  31.                                 fw.flush();
  32.                         }
  33.                 }
  34.                 //关流
  35.                 fw.close();
  36.         }
  37. }
复制代码

作者: Sbbbbbbbbbb    时间: 2016-6-22 21:15
看看大神的回答
作者: 159269236    时间: 2016-6-22 23:12
谢谢大神解答
作者: 读书||养猪    时间: 2016-6-22 23:52
谢谢分享




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