質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

0回答

1268閲覧

登録されている得点の標本分散をしたいです。

e.21

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2020/07/30 11:50

前提・実現したいこと

登録されている得点の標本分散をしたいです。
TestForOffice2で実行します。

public class TestForOffice2 {
public static void main(String[] args) {

// オブジェクトの生成 Office2 engOffice = new Office2("理工学部事務室"); //理工学部事務室に成績を登録 engOffice.registerScore("山田", 80); engOffice.registerScore("佐藤", 95); engOffice.registerScore("中村", 75); engOffice.registerScore("木下", 60); engOffice.registerScore("遠藤", 85); engOffice.registerScore("渡辺", 100); // 全ての成績を表示 engOffice.showAllScores(); System.out.println("showStudentScoreメソッドのテスト"); engOffice.showStudentScore(); System.out.println("登録されている得点の標本分散は" + engOffice.calcVariance()); /* * double result = engOffice.calcVariance(); * System.out.println("登録されている得点の標本分散は" + result); * と書いても良いが,上記のように記述することもできる. */ }

}


import java.util.*;

/**

  • 事務室を表すクラス(Office2)

*/
public class Office2 {

/** * 学生名・得点を保持する(変更不要) */ private ArrayList<Score> scoreList; // ScoreクラスのArrayList /** * 事務室名を保持する(変更不要) */ private String name; /** * コンストラクタ(変更不要) * @param name 事務室の名前 */ public Office2(String name) { this.name = name; this.scoreList = new ArrayList<Score>(); } /** * 学生数を返す(変更不要) * @return 学生数 */ public int getStudentNum() { return scoreList.size(); } /** * 引数で指定された学生の得点を返す(変更不要) * @param n 学生のインデックス(n番目の学生ならn-1と指定) * @return 学生数 */ public int getStudentScore(int n) { if ( getStudentNum() < n ) return -1; else return scoreList.get(n).getScoreValue(); } /** * 得点を登録する(変更不要) * @param studentName 学生の名前 * @param scoreValue 点数 */ public void registerScore(String studentName, int scoreValue) { Score score = new Score(studentName, scoreValue); scoreList.add(score); } /** * 全ての得点を表示する(変更不要) */ public void showAllScores() { System.out.printf("%sに登録されている全得点\n", this.name ); for (Score score : scoreList) { System.out.printf("学生名:%s,", score.getStudentName()); System.out.printf("得点:%d\n", score.getScoreValue()); } } /** * 平均点を表示する(変更不要) */ public void showAverageScore() { int sum = 0; double averageScore; // このクラスで定義されているgetStudentNum()メソッドを用いて // 繰り返し回数(得点が格納されている学生の数)を設定. // 同じクラスのメソッドを呼び出す際には,単にメソッド名を指定 // すればよい.例:getStudentNum() for (int i=0; i < getStudentNum(); i++) { // このクラスで定義されているgetStudentScore()を呼び出して, // i番目の学生の得点を調べ,変数sumに足し合わせる. sum += getStudentScore(i); } averageScore = (double) sum / getStudentNum(); System.out.println( "登録されている得点の平均:" + averageScore ); } /** * 最高点を求めて表示する(変更不要) */ public void showMaxScore() { // 最初の得点を仮の最高得点としておく int maxScore = getStudentScore(0); // このクラスで定義されているgetStudentNum()メソッドを用いて // 繰り返し回数(得点が格納されている学生の数)を設定. // 同じクラスのメソッドを呼び出す際には,単にメソッド名を指定 // すればよい.例:getStudentNum() for (int i=0; i < getStudentNum(); i++) { // このクラスで定義されているgetStudentScore()を呼び出して, // i番目の学生の得点を調べ,変数maxScoreと比較する. if (maxScore < getStudentScore(i)) { maxScore = getStudentScore(i); } } System.out.println("登録されている最高得点は得点:" + maxScore); } /** * Office2クラスの中で,Office2クラスのメソッドを呼び出す方法のサンプル */ public void showStudentScore() { /* 実装するcalcVarianceメソッドでは,同じOffice2クラスの * getStudentNumメソッドとgetStudentScoreメソッドを呼び出す必要が * ある.同じクラスのメソッドを呼び出す際には,単にメソッド名を記述 * すればよい.具体的には,以下の処理を参考にすればよい. */ // getStudentNumメソッドを呼び出してみる. int num = getStudentNum(); // このように,メソッド名を書くだけで良い. // getStudentScoreメソッドを呼び出してみる. int score = getStudentScore(0); // 最初の学生の得点を取得(0から始まる) System.out.println("学生数:" + num + "最初の学生の得点;" + score); } /** * 標本分散を計算し,その結果を返すメソッド */ public double calcVariance() { // これ以降に処理を書く return 0; // この部分も変更の必要あり }

}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/07/30 20:48

コードやエラーはマークダウンのcode機能を利用してご提示ください。 https://teratail.com/questions/238564 しかし、質問が書かれてないですね。やりたいこととコードがあるだけです。 現状の問題点を記載し、それに対し何を調べどう試したか具体的に記載してください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問