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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 1499744937 中级黑马   /  2016-6-21 23:32  /  711 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

已知数组int arr[]={2,3,4,2,4};(10分)a.    计算出该数组的平均数(2分)b.    并将大于平均数的元素存放到当前根目录下number.txt中(以追加的方式添)怎么做呢

评分

参与人数 1黑马币 +20 收起 理由
xgm + 20

查看全部评分

11 个回复

倒序浏览
谢谢分享
回复 使用道具 举报
new FileWriter(file, append)
回复 使用道具 举报
本帖最后由 戎马生涯 于 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-23 00:40
回复 使用道具 举报
谢谢分享!学习!努力
回复 使用道具 举报
谢谢楼上的分享!!!
回复 使用道具 举报
谢谢大神的解答
回复 使用道具 举报
  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. }
复制代码
回复 使用道具 举报
看看大神的回答
回复 使用道具 举报
谢谢大神解答
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马