私の Java クラスの課題を手伝っていただければ、とても助かります。質問のプロンプトは次のとおりです。
負でない整数のリストを読み取り、最大の整数、最小の整数、およびすべての整数の平均を表示するプログラムを作成します。ユーザーは、最大値、最小値、および平均値の検索に使用されない負のセンチネル値を入力して、入力の終了を示します。小数部で計算されるように、平均は double 型の値である必要があります。
私のコードで発生している問題は、実行時に入力された最初の値が負でない限りループが終了しないことです。負の場合は次のように返されます。
入力された最大数: 0 入力された最小数: 0 入力された数の平均: NaN
助けてください!ありがとう。-サム
コード:
package blah;
import java.util.Scanner;
public class blahblah
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
System.out.println ("Please enter a list of positive integers.");
System.out.println ("Please enter a negative integer when finished.");
int in = 0;
int max = 0;
int min = 0;
int sum = 0;
int count = 0;
in = keyboard.nextInt();
while (in>=0)
{
if (in > max) {
in = max;
}
if (in < min) {
in = min;
}
sum += in;
count++;
if (in < 0) {
break;
}
}
System.out.println("The maximum number entered was: " + max);
System.out.println("The minimum number entered was: " + min);
System.out.println("The average of the numbers entered was: " + (double)sum/count);
}
}