1.1. Descripción de la formación
Ingrese los puntajes de los 5 cursos de un estudiante y calcule el puntaje promedio. Si la entrada de una determinada puntuación es negativa, detenga la entrada y solicite el error de entrada.
1.2. Descripción de los pasos operativos
-
Crear objetos de entrada de teclado
-
Defina las variables suma (puntuación total) y avg (puntuación media) de tipo int, el valor inicial de las dos variables es 0 y el nombre de la variable de tipo String representa el nombre del alumno
-
Defina la bandera de la variable de tipo booleano (indicando si las 5 puntuaciones del estudiante se ingresaron correctamente, si una de las puntuaciones es negativa, el valor negativo es verdadero, indicando un error de entrada), el valor inicial es falso
-
Use el bucle for para ingresar 5 resultados
(1) Si la puntuación actual es menor que 0, la bandera se asigna a verdadero y el ciclo for finaliza
(2) De lo contrario, si la puntuación ingresada actualmente> = 0, la suma acumulada
-
Resultado de impresión
(1) Si la bandera es verdadera, imprime los errores de entrada
(2) De lo contrario, si la bandera es falsa, imprima la puntuación total y la puntuación media.
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);
}
}
}