簡體   English   中英

嵌套控制結構等級平均計算器

[英]Nested Control Structures Grade average calculator

如何使大於100或小於0的數字不加到平均值中? 該腳本可以編譯並正常運行,但是當我輸入101時,它告訴我該數字太大,但仍取其平均值。 謝謝!

import java.util.Scanner;

public class ExerciseSix
{
public static void main( String[] args )
{

    Scanner dylan = new Scanner(System.in);

    int gradeCounter;
    int total;
    int grade;
    double average;

    total = 0;
    gradeCounter = 0;

    System.out.println( "Enter a grade or -1 to quit: " );
    grade = dylan.nextInt();

    while ( grade != -1 )
    {  


        total = total + grade;
        gradeCounter = gradeCounter + 1;




        if( grade > 100 || grade < 0) {         

        if ( grade > 100 ) {
        System.out.println( "Number too large, enter a new number");            
        }

        if ( grade < 0 ) {
        System.out.println( "Number too small, enter a new number");
        }

        }




        System.out.println( "Enter grade or -1 to quit: ");
        grade = dylan.nextInt();



    }


    if ( gradeCounter != 0 )

    {


        average = (double) total / gradeCounter;


        System.out.printf( "Class average is %.2f", average );



    }

    else
        System.out.println( "No grades were entered" );

}

}

添加continue跳轉到下一個循環迭代。 將計算移到這些檢查的下面,以便如果檢查失敗,則不執行計算。

if ( grade > 100 ) {
    System.out.println( "Number too large, enter a new number");  
    continue;
}

if ( grade < 0 ) {
    System.out.println( "Number too small, enter a new number");
    continue;
}

total = total + grade;
gradeCounter = gradeCounter + 1;

在測試該值之前,需要進行平均。 將平均代碼放在else語句中。

    if ( grade > 100 || grade < 0) {         
        if ( grade > 100 ) {
            System.out.println( "Number too large, enter a new number");            
        }
        if ( grade < 0 ) {
            System.out.println( "Number too small, enter a new number");
        }
    } else {
        total = total + grade;
        gradeCounter = gradeCounter + 1;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM