アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下問題文&条件
・最初にデータ数を入力して、個数分のdouble型配列を用意する。 配列に数値を入力し、データと共に偏差を表示する
・入力を促すメッセージを表示後、データ数を入力する
・入力したデータ数分のdouble型配列を生成する
・データ数分、入力を促すメッセージを表示後、データを入力し、合計を求める
・平均を求める
・データ数分、データと偏差を表示する
※num にデータ数を入力してから配列を生成すること

出来れば解説もお願いしたいです。

A 回答 (1件)

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));
 }
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!