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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wu971856966 中级黑马   /  2016-11-15 21:06  /  1497 人查看  /  4 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

package com.itheima.tests;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;

/**
* 3.已知数组int arr[] = {2,3,4,2,4}; (10分)
        (1)计算出该数组的平均分、最大值、最小值
        (2)并将大于平均分的元素放到当前根目录下number.txt中(以追加的方式添加)
* @author JX
*
*/
public class Test03 {
        public static void main(String[] args) throws Exception {
                //定义数组
                int arr[] = {2,3,4,2,4};
                //(1)计算出该数组的平均分、最大值、最小值
                int sum = 0;
                int max = arr[0];//假设第0个元素是最大的
                int min = arr[0];//假设第0个元素是最小的
                for(int i = 0;i<arr.length;i++) {
                        sum +=arr[i];
                        if(max<arr[i]) {
                                max = arr[i];
                        }
                        if(min>arr[i]) {
                                min = arr[i];
                        }
                }
                //计算平均分
                double avg = sum*1.0/arr.length;
                System.out.println("该数组的平均分:"+avg+" , 最大值:"+max+" , 最小值:"+min);
                //将数组中的元素大于avg的写入到文件中
                writeArr2File(arr,avg);
                readFromFile();
        }
        //将数组中的元素大于avg的写入到文件中
        private static void writeArr2File(int[] arr, double avg) throws Exception {
                /*//1.创建数据字节输出流对象
                DataOutputStream dos = new DataOutputStream(new FileOutputStream("number.txt",true));
                //2.遍历数组,将符合条件的元素写入到文件中
                for (int i : arr) {
                        if(i>avg) {
                                dos.writeInt(i);
                        }
                }
                //3.关闭流
                dos.close();*/
               
                BufferedWriter bw = new BufferedWriter(new FileWriter("number.txt", true));
                for (int i : arr) {
                        if(i>avg) {
                                bw.write(i+"");
                                bw.newLine();
                        }
                }
                bw.close();
               
        }
        private static void readFromFile() throws Exception {
                /*//1.创建数组字节输入流对象
                DataInputStream dis = new DataInputStream(new FileInputStream("number.txt"));
                int i = dis.readInt();
                System.out.println(i+" ");
                i = dis.readInt();
                System.out.println(i+" ");*/
                BufferedReader br = new BufferedReader(new FileReader("number.txt"));
                String line = null;
                while(null!=(line = br.readLine())) {
                        System.out.println(line);
                }
                br.close();
        }       
}


评分

参与人数 1黑马币 +5 收起 理由
sevforr + 5 很给力!

查看全部评分

4 个回复

倒序浏览
{:8_525:}懵逼顶贴
回复 使用道具 举报
同学,不错!!!
回复 使用道具 举报
hxs 初级黑马 2016-11-15 22:28:25
板凳
很好,不错
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马