
以下はコマンドライン引数で任意の数の整数を受け取って、合計・平均・最大・最小を求めようとしたソースです。
しかし、実行したら最大値と最小値が正しく出ませんでした。
if文が間違っているのかもしれないと思ったのですが、はっきりと『ここが間違っている』という場所が分かりません。
どうかご指摘お願いします。
class Choco
{
public static void main (String[] args)
{
int i;
int sum = 0;
int max;
int min;
for ( i=0; i<args.length; i++)
sum += Integer.parseInt(args[i]);
double ave = sum/args.length;
max = args.length;
min = args.length;
if (args.length>max){
max = args.length;
}
if (args.length<min){
min = args.length;
}
System.out.println("合計は" + sum + "です。");
System.out.println("平均は" + ave + "です。");
System.out.println("最大値は" + max + "です。");
System.out.println("最小値は" + min + "です。");
}
}
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 + "です。");
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実数からの小数部の取得
-
javaで1.8x10の308乗÷...
-
printfでのエラーがわからない...
-
「続行するには何かキーを押し...
-
オブジェクトの中のプロパティ...
-
ORA-01858: 数値を指定する箇所...
-
続・ZZZ,ZZZ,ZZ9形式の金額形式...
-
C言語のポインターに関する警告
-
ループ処理の際、最後だけ","を...
-
1ページに10件ずつ表示したい
-
IF関数でEmpty値を設定する方法。
-
javaで質問です。 文字列2023/2...
-
hiddenの値が期待した値で取得...
-
変数を動的に作るには?
-
大量のデータを読み込んで表示...
-
動的配列が存在(要素が有る)か...
-
JSPやサーブレットでSystem.out...
-
C#で、あるクラスのメンバーす...
-
【Java8以降】csvファイルの複...
-
java キーボード入力された値の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実数からの小数部の取得
-
double型変数値の整数部分のみ...
-
0dの意味を教えてください
-
Javaで何パーセント%かを表示...
-
最大値と最小値の求め方
-
newton法のjacobi
-
プログラマーの達人という本の...
-
先に計算したほうがいいのでし...
-
べき乗
-
Javaによる利率計算の実装方法
-
java のfor文について質問です。
-
乱数について
-
x^2+y^2<n^2
-
LU分解を利用した逆行列のプロ...
-
分を表す数値(int型)を、小数...
-
プログラムで指数関数を求めよ...
-
double型の足し算について
-
Javaコンパイルエラー
-
掛け算演算を使わない掛け算
-
乱数のdouble型について
おすすめ情報