![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
問題7-1:次の配列データの合計と平均を求めるプログラムを作成してください。
double [] x = { 12.3, 45.4, 45.9, 3.56, 6.6, 8.9, 2.3, 0.5, 4.3, 1.2, };
(自分が書いたもの)
public class Sample8_4 {
public static void main(String[] args) {
double[] x = { 12.3, 45.4, 45.9, 3.56, 6.6, 8.9, 2.3, 0.5, 4.3, 1.2, };
double sum = 0.0;
for (int i = 0; i < x.length; i++) {
;
sum += x[i];
double average = sum / x.length;
System.out.println("平均:" + average + ",合計:" + sum);
}
}
}
(実行結果)
平均:1.23,合計:12.3
平均:5.7700000000000005,合計:57.7
平均:10.36,合計:103.6
平均:10.716,合計:107.16
平均:11.376,合計:113.75999999999999
平均:12.266,合計:122.66
平均:12.495999999999999,合計:124.96
平均:12.546,合計:125.46
平均:12.975999999999999,合計:129.76
平均:13.095999999999998,合計:130.95999999999998
(答え)
総計:130.95999999999998, 平均:13.095999999999998
for文についていまいち理解できていません(拡張for文も)
回答よろしくお願いします。
No.1ベストアンサー
- 回答日時:
public class Sample8_4 {
public static void main(String[] args) {
double[] x = { 12.3, 45.4, 45.9, 3.56, 6.6, 8.9, 2.3, 0.5, 4.3, 1.2, };
double sum = 0.0;
for (int i = 0; i < x.length; i++) {
sum += x[i];
}
double average = sum / x.length; //ここ2行を外に出すだけ。
System.out.println("平均:" + average + ",合計:" + sum);
}
}
No.2
- 回答日時:
今JAVAの実行環境がないので実行していませんがこんな感じでできると思います。
double型は計算すると誤差が発生します。
ですのでBigDecimalクラスを使って計算します。
(そこまで正確に計算する必要なければdouble型でもOKです)
public class Sample8_4 {
public static void main(String[] args) {
double[] x = { 12.3, 45.4, 45.9, 3.56, 6.6, 8.9, 2.3, 0.5, 4.3, 1.2, };
BigDecimal sum = new BigDecimal();
for (double y : x) { //拡張for文
sum = sum.add(new BigDecimal(y));
}
BigDecimal average = sum.divide(x.length, 5, BigDecimal.ROUND_HALF_UP);//小数点以下第5位まで求める
System.out.println("平均:" + average.toString() + ",合計:" + sum.toString());
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- Excel(エクセル) 別シートに毎回異なるデータをコピーする 7 2022/06/24 09:02
- 統計学 標準誤差の求め方 2 2022/07/04 19:59
- 統計学 統計学の問題です よろしくお願いします 代表値 次の15件のデータについて,以下の問いに答えよ。 結 5 2023/01/31 23:35
- 統計学 統計学の問題です よろしくお願いします 代表値 次の15件のデータについて,以下の問いに答えよ。 結 1 2023/01/31 18:53
- 統計学 生物統計学の質問 7 2022/05/17 13:59
- 統計学 有給の週平均出し方 2 2023/05/24 10:25
- 統計学 移動平均について 統計を勉強し始めましたが何度読んでも理解が出来ないので教えてください。 ①過去1週 3 2022/06/18 08:34
- C言語・C++・C# プログラミングを教えて欲しいです。 配列aは、int a[9]={7,6,12,8,3,5,10,9 4 2022/12/19 23:27
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
0dの意味を教えてください
-
モンテカルロ法を用いた球の体...
-
Javaで何パーセント%かを表示...
-
実数からの小数部の取得
-
べき乗
-
最大値と最小値の求め方
-
double型変数値の整数部分のみ...
-
java プログラム 範囲を指定し...
-
Javaプログラムのフローチャー...
-
osamuyさん、では「今まで入力...
-
小数点以下の切捨てにつきまして
-
double型の足し算について
-
javaの課題。。
-
javaでC++のdefine文に相当する...
-
矩形法プログラムの計算値と計...
-
JSPやサーブレットでSystem.out...
-
System.err. printlnとSystem.o...
-
ページング
-
ダブルクォーテーションのrepla...
-
C言語のポインターに関する警告
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
べき乗
-
実数からの小数部の取得
-
Javaで何パーセント%かを表示...
-
0dの意味を教えてください
-
最大値と最小値の求め方
-
double型変数値の整数部分のみ...
-
Javaによる利率計算の実装方法
-
doubleで入力するには?
-
doubleとintの違い
-
JAVAのプログラムで、2乗計算...
-
double型の足し算について
-
掛け算演算を使わない掛け算
-
実数 2.0 に対して int(2.0) ==...
-
Javaコンパイルエラー
-
java のfor文について質問です。
-
C# ToStringでの数字桁揃えの仕方
-
java プログラム 範囲を指定し...
-
Javaのeval関数処理
-
printfでのエラーがわからない...
-
数値積分について
おすすめ情報