質問: java 最初にデータ数を入力した後、double型データを入力し偏差を表示する。 以下問題文&条件 ・最初にデータ数を入力して、個数分のdouble型配列を用意する。 配列に数値を入力し、データと共に偏差を表示する ・入力を促すメッセージを表示後、データ数を入力する ・入力したデータ数分のdouble型配列を生成する ・データ数分、入力を促すメッセージを表示後、データを入力し、合計を求める ・平均を求める ・データ数分、データと偏差を表示する ※num にデータ数を入力してから配列を生成すること 出来れば解説もお願いしたいです。
回答: import java.util.scanner; import java.util.stream.*; import java.util.arrays; // 最初にデータ数を入力して、個数分のdouble型配列を用意する。配列に数値を入力し、データと共に偏差を表示する。 // なお、メッセージ(message)は適当に決める事。 public class main { public static void main(string[] arg) { scanner scanner = new scanner(system.in); system.out.println("message"); // 入力を促すメッセージを表示 double[] a = new double[scanner.nextint()]; // 入力したデータ数分のdouble型配列を生成する for (int i = 0; i < a.length; i++) { system.out.println("message"); // データ数分入力を促すメッセージを表示 a[i] = scanner.nextdouble(); // データを入力 } double sum = doublestream.of(a).sum(); // 合計を求める double mean = sum/a.length; // 平均を求める // データ数分データを表示する for (double num: a) { system.out.println(num); } // 偏差を表示する system.out.println(math.sqrt(doublestream.of(a).map(s -> math.pow((s - mean), 2)).sum() / a.length)); } }