3 回答

TA貢獻(xiàn)1943條經(jīng)驗(yàn) 獲得超7個(gè)贊
public class MaxMinGrades{
public static void main(String[] args){
double maxGrade = 0.0;
double minGrade = 100.0;
Scanner input = new Scanner(System.in);
System.out.println("Enter as many student grades as you like. Enter a character to stop.");
while(input.hasNextDouble()) {
double grades = input.nextDouble();
if (grades > maxGrade) {
maxGrade = grades;
}
if (minGrade > grades) {
minGrade = grades;
}
}
System.out.println("The highest grade is: " + maxGrade);
System.out.println("The lowest grade is: " + minGrade);
}
}
這樣, 內(nèi)部就有了中斷條件while loop。當(dāng)某些事情發(fā)生變化時(shí),boolean就會(huì)檢查條件。

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊
幾點(diǎn)
1. 一旦獲得第一個(gè)條目,您就需要為 Min 和 Max 分配該值。
2. 變量等級(jí)應(yīng)使用循環(huán)內(nèi)的最新輸入進(jìn)行更新。
public class MaxMinGrades {
public static void main(String[] args){
double maxGrade = Double.MAX_VALUE;
double minGrade = Double.MIN_VALUE;
Scanner input = new Scanner(System.in);
System.out.println("Enter as many student grades as you like. Enter a character to stop.");
double grades = input.nextDouble();
System.out.println("first entry="+grades);
minGrade = maxGrade = grades;
while(input.hasNextDouble()) {
grades = input.nextDouble();
if (grades > maxGrade) {
maxGrade = grades;
}
if (grades < minGrade) {
minGrade = grades;
}
}
System.out.println("The highest grade is: " + maxGrade);
System.out.println("The lowest grade is: " + minGrade);
}
}

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
while 循環(huán)中沒有中斷條件。掃描儀將繼續(xù)偵聽輸入。僅當(dāng)輸入非雙字符時(shí)循環(huán)才會(huì)退出。
您實(shí)際上也沒有在每次迭代中獲得下一個(gè)輸入。您需要input.nextDouble()在循環(huán)內(nèi)調(diào)用。
如果你想讓它自己退出,你需要添加一個(gè)中斷條件。例如,您可以在輸入一定數(shù)量后停止,例如:
int gradeCount = 0;
while(input.hasNextDouble() && gradeCount < 6) {
grades = input.nextDouble();
gradeCount += 1;
// your logic here
}
添加回答
舉報(bào)