学生の5つのコースのスコアを入力し、平均スコアを計算します。特定のスコアの入力が負の場合、入力を停止し、入力エラーを促す

1.1。トレーニングの説明

学生の5つのコースのスコアを入力し、平均スコアを計算します。特定のスコアの入力が負の場合、入力を停止し、入力エラーをプロンプトします。

1.2。操作手順の説明

  1. キーボードエントリオブジェクトを作成する

  2. int型の変数sum(合計スコア)とavg(平均スコア)を定義します。2つの変数の初期値は0で、String型の変数名は学生の名前を表します

  3. ブール型の変数フラグを定義します(学生の5つのスコアが正しく入力されているかどうかを示します。スコアの1つが負の場合、負の値はtrueで、入力エラーを示します)、初期値はfalseです。

  4. forループを使用して5つの結果を入力する

    (1)現在のスコアが0未満の場合、フラグがtrueに割り当てられ、forループが終了します

    (2)それ以外の場合、現在入力されているスコア> = 0の場合、累積合計

  5. 結果を印刷する

(1)フラグがtrueの場合、入力エラーを出力します

(2)それ以外の場合、フラグがfalseの場合、合計スコアと平均スコアを出力します

import java.util.Scanner;
public class Kehou1{
    
    
	public static void main(String[] args){
    
    
	    //思路一
		// Scanner sc = new Scanner(System.in);
		// int sum = 0;
		// int avg = 0;
		// System.out.println("请输入学生姓名:");
		// String name = sc.next();
		
		// for(int i = 1;i <=5;i++){
    
    
			// System.out.println("请输入"+i+"门成绩:");
			// int num = sc.nextInt();
			// if(num<0){
    
    
				// System.out.println("客官不可以");
				// break;
			// }else{
    
    
				// sum += num;
			// }
		// }
		// if(i == 5){
    
    
			
			// System.out.println(name+"总分为:"+sum);
			// System.out.println(name+"平均分分为:"+sum/5);
		// }
		//思路2
		boolean flag = false;//false表示没有不合法的数据,true表示有不合法的数据
		Scanner sc = new Scanner(System.in);
		int sum = 0;
		int avg = 0;
		for(int i = 1;i <=5;i++){
    
    
			System.out.println("请输入"+i+"门成绩:");
			int num = sc.nextInt();
			//判断num是否合法,如果不合法,则直接修改标志位 true表示有不合法的数据
			if(num<0){
    
    
				flag = true;
				break;
			}
			sum += num;//代码能执行到这里,就证明a是合法的
		}
		//根据flag状态,确定是否要求平均值
		if(flag==true){
    
    
			//说明有不合法存在
			System.out.println("亲,别乱来");
		}else{
    
    
			//说明合法
			System.out.println(name+"平均分分为:"+sum/5);
		}
	}
}

おすすめ

転載: blog.csdn.net/qq_42073385/article/details/107722153