北觅- 2021-12-15 11:03 采纳率: 60%
浏览 45
已结题

关于#java#的问题

编写简单的程序实现以下功能:
(1)产生 5 000 个 1~9 999 之间的随机整数,将其存入文本文件 a.txt 中,
(2)从文件中读取这 5 000 个整数,并计算其最大值,最小值和平均值。

  • 写回答

2条回答 默认 最新

  • cy子见 2021-12-15 11:48
    关注
    
       public static void main(String[] args) {
            List<Integer> startArrs = new ArrayList<>();
            for (int i = 0; i < 5000; i++) {
                startArrs.add((int) (Math.random() * 9999 + 1));
            }
            BufferedWriter bw = null;
            BufferedReader br = null;
            try {
                //5000个随机数写入
                bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("D:\\a.txt")));
                for (Integer i : startArrs) {
                    bw.write(String.valueOf(i));
                    bw.newLine();
                }
                //读取随机数
                br = new BufferedReader(new InputStreamReader(new FileInputStream("D:\\a.txt")) {
                });
                //读取到的随机数集合
                List<Integer> integerList = new ArrayList<>();
                String str = null;
                while ((str=br.readLine()) != null) {
                    integerList.add(Integer.parseInt(str));
                }
                //求最大值,最小值,平均值
                int max=0;
                int min=0;
                int avg=0;
                int sum=0;
                for (int i=0;i<integerList.size();i++){
                    if (integerList.get(i)>max){
                        max=integerList.get(i);
                    }
                    if (i==0){
                        min=integerList.get(i);
                    }
                    if (integerList.get(i)<min){
                        min=integerList.get(i);
                    }
                    sum+=integerList.get(i);
                }
                System.out.println("最大值:"+max);
                System.out.println("最小值:"+min);
                System.out.println("平均值:"+(sum/integerList.size()));
    
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                try {
                    if (bw != null) {
                        bw.close();
                    }
                    if (br != null) {
                        br.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
    
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月24日
  • 已采纳回答 12月16日
  • 创建了问题 12月15日

悬赏问题

  • ¥30 vb net 使用 sendMessage 如何输入鼠标坐标
  • ¥200 求能开发抖音自动回复卡片的软件
  • ¥15 关于freesurfer使用freeview可视化的问题
  • ¥100 谁能在荣耀自带系统MagicOS版本下,隐藏手机桌面图标?
  • ¥15 求SC-LIWC词典!
  • ¥20 有关esp8266连接阿里云
  • ¥15 C# 调用Bartender打印机打印
  • ¥15 我这个代码哪里有问题 acm 平台上显示错误 90%,我自己运行好像没什么问题
  • ¥50 C#编程中使用printDocument类实现文字排版打印问题
  • ¥15 找会编程的帅哥美女 可以用MATLAB里面的simulink编程,用Keil5编也可以。