質問: Integer.parseInt(br.readLine()); System.out.println( datanum +"個のデータを入力して下さい。"); data= new int [datanum]; sum=0; for(int i=0;idata[i]) { min=data[i]; } } ave=sum/datanum; System.out.println("最小値:"+ min +"、最大値:"+ max +"、平均値:"+ ave); Arrays.sort(data); System.out.println("ソート後の配列データ:"); disp_all_data(data); } }
回答: どうせソートするなら先にソートすればいいのでは? ソート後最初の要素が最小、最後の要素が最大になっています。 実はStreamで最大最小平均まとめて出す方法があったり ``` // 数値を半角スペース区切りで入力されていること前提 int[] array = Arrays.stream(br.readLine().split(" ")) .mapToInt(Integer::parseInt).sorted().toArray(); IntSummaryStatistics iss = Arrays.stream(array).summaryStatistics(); System.out.println("最小値:"+ iss.getMin() +"、最大値:"+ iss.getMax() +"、平均値:"+ iss.getAverage()); ```