以下はコマンドライン引数で任意の数の整数を受け取って、合計・平均・最大・最小を求めようとしたソースです。
しかし、実行したら最大値と最小値が正しく出ませんでした。
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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラミングを教えて欲しいです。 配列aは、int a[9]={7,6,12,8,3,5,10,9 4 2022/12/19 23:27
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- C言語・C++・C# leetcode 155 minstack 1 2022/05/07 16:43
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
べき乗
-
Javaで何パーセント%かを表示...
-
実数からの小数部の取得
-
doubleで入力するには?
-
0dの意味を教えてください
-
最大値と最小値の求め方
-
Javaコンパイルエラー
-
ダイアログベースの3次Spline...
-
矩形法プログラムの計算値と計...
-
プログラムのおかしいところを...
-
Javaのeval関数処理
-
演算子を使わない演算
-
java プログラム 範囲を指定し...
-
応用情報技術者試験の令和元年...
-
[JAVA]try 内の変数を外で!?
-
C言語のポインターに関する警告
-
ループ処理の際、最後だけ","を...
-
System.err. printlnとSystem.o...
-
flush()とclose()について
-
javaで質問です。 文字列2023/2...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報