1.1。トレーニングの説明
学生の5つのコースのスコアを入力し、平均スコアを計算します。特定のスコアの入力が負の場合、入力を停止し、入力エラーをプロンプトします。
1.2。操作手順の説明
-
キーボードエントリオブジェクトを作成する
-
int型の変数sum(合計スコア)とavg(平均スコア)を定義します。2つの変数の初期値は0で、String型の変数名は学生の名前を表します
-
ブール型の変数フラグを定義します(学生の5つのスコアが正しく入力されているかどうかを示します。スコアの1つが負の場合、負の値はtrueで、入力エラーを示します)、初期値はfalseです。
-
forループを使用して5つの結果を入力する
(1)現在のスコアが0未満の場合、フラグがtrueに割り当てられ、forループが終了します
(2)それ以外の場合、現在入力されているスコア> = 0の場合、累積合計
-
結果を印刷する
(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);
}
}
}