• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:最大値と最小値の求め方)

最大値と最小値の求め方

このQ&Aのポイント
  • コマンドライン引数で受け取った整数の合計・平均・最大・最小を求めるソースコードです。
  • しかし、実行すると最大値と最小値が正しく出力されません。
  • 問題の原因がわからず、修正方法を知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

添削してみました。 ・args.length は、引数の数ですから最大値や最小値と比べるのは意味がありません。 ・int / intは結果がint になってしまうので、doubleで計算させないとdoubleに代入する意味がありません。  ------------------------------------------------------------------ class Choco{ public static void main (String[] args) { int i, v; int sum = 0; int max=Integer.MIN_VALUE; int min=Integer.MAX_VALUE; for ( i=0; i<args.length; i++){ v= Integer.parseInt(args[i]); sum += v; if(v>max) max=v; if(v<min) min=v; } double ave = (double)sum/args.length; System.out.println("合計は" + sum + "です。"); System.out.println("平均は" + ave + "です。"); System.out.println("最大値は" + max + "です。"); System.out.println("最小値は" + min + "です。"); } }

choco1112
質問者

お礼

添削ありがとうございます。 また、間違いの箇所の指摘があったのでどう間違っていたのかがよく分かりました。

関連するQ&A