私は、ユーザーからの多くの入力を受け取り、最大数(最高数)分(最低数)と平均を生成する簡単なプログラムを作成しようとしています。Whileループは無視されます
これまではコードを書いていましたが、2番目と3番目のwhileループは無視されていました。私はprintlnを出力してこれをテストしました。私はJavaに新しいですが、どんな助けもありがたいです:)
public void analyseInput() {
UI.clearText();
UI.print("input (end with 'done')");
double sum = 0;
double i=0;
for(i=0; UI.hasNextDouble(); i++){ //average
double amt = UI.nextDouble();
sum = (sum + amt);
}
UI.println("test0");
int maxAge = 0;
while(UI.hasNextDouble()){ //max
int age = UI.nextInt();
while(age>maxAge){
maxAge = age;
UI.println(maxAge);
}
}
double minAge = 0;
while(UI.hasNextDouble()){ //min
double age = UI.nextDouble();
if(age<minAge){
minAge = age;
}
}
double average = sum/i;
UI.nextLine(); // to clear out the input
UI.println(average);
UI.println(minAge);
}
whileループの条件は 'UI.hasNextDouble()'です。倍数が残っていない場合、これはfalseと評価され、明らかにループに入りません。 –