亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

需要從數字列表中顯示最高和最低成績

需要從數字列表中顯示最高和最低成績

絕地無雙 2024-01-28 16:27:22
我需要輸入成績列表,并在輸入字符時讓代碼停止。然后它會顯示最高等級和最低等級。我創建了一個while loop,但是當我運行代碼時,它一直循環并且不會停止。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();    while(input.hasNextDouble()) {      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);  }}我會輸入:50 66.85 73.5 78.9 77q。輸出將是: 最高等級是:78.9 最低等級是:50.0
查看完整描述

3 回答

?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

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);

  }

}

這樣, 內部就有了中斷條件while loop。當某些事情發生變化時,boolean就會檢查條件。


查看完整回答
反對 回復 2024-01-28
?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

幾點


1. 一旦獲得第一個條目,您就需要為 Min 和 Max 分配該值。


2. 變量等級應使用循環內的最新輸入進行更新。


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);

}

}


查看完整回答
反對 回復 2024-01-28
?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

while 循環中沒有中斷條件。掃描儀將繼續偵聽輸入。僅當輸入非雙字符時循環才會退出。


您實際上也沒有在每次迭代中獲得下一個輸入。您需要input.nextDouble()在循環內調用。


如果你想讓它自己退出,你需要添加一個中斷條件。例如,您可以在輸入一定數量后停止,例如:


int gradeCount = 0;

while(input.hasNextDouble() && gradeCount < 6) {

  grades = input.nextDouble();

  gradeCount += 1;


  // your logic here

}


查看完整回答
反對 回復 2024-01-28
  • 3 回答
  • 0 關注
  • 188 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號