/*
* 时间:2018-3-20
* 目的:practice
* 内容:利用 Java 循环语法计算若干个学生5门课的平均分
* 创建一个Java类,名称:CountAverageSocre.java ,利用 Java 循环语法计算并输出若干个学生5门课的平均分
* 外循环每循环一次处理一个学生
* 内循环则处理一个学生的5门课成绩
* */
package hpeuclass;
import java.util.Scanner;
public class CountAverageSocre {
public static void main(String[] args) {
/*
//第一种方法,用数组存储变量,退出时得成绩,不满足要求,只给运行截图
//声明赋值
Scanner read = new Scanner(System.in);//扫描器
double score[] = new double[5];// 成绩数组
int num = 100;// 学生个数
double sum = 0;// 成绩之和
String[] name = new String[num];//学生姓名
double average[] = new double[num];// 平均成绩数组
char a = 'y';//选项初始化
char b = 'n';//选项初始化
int d = 1;
outterloop:for (int i = 0; i <= 100; i++,d++) {
System.out.print("输入学生姓名:\n");
name[i]= read.next();
sum = 0;//重新录入成绩归零
for (int j = 0; j < 5; j++) {
System.out.print("请输入5门功课中第" + (j + 1) + "门功课的成绩:");
score[j] = read.nextDouble();
sum = sum + score[j];
}
average[i] = sum / 5;//平均成绩
System.out.print("继续输入吗?(y/n)");
String s = read.next();
if (a == s.charAt(0)) {//满足条件继续输入成绩
} else if (b == s.charAt(0)) {//选择结束输入
System.out.print("成绩录入结束!\n\n");
for (int k = 0; k < d; k++) {
System.out.print("学生姓名:" + name[k]+ "平均成绩:" + average[k]+"\n");//打印所有学生成绩
}
break outterloop;//跳出外层循环
} else {//错误选项
System.out.print("输入错误!\n");
}
}
System.out.print("\nGoodBye!");//结束*/
//第二种方法while,for循环,输入即得成绩
//声明赋值
Scanner read = new Scanner(System.in);//扫描器
while(true){
//输入提示
System.out.println("输入学生姓名:");
String name = read.next();//声明学生姓名并输入赋值
double score[] =new double[5];//声明成绩数组,可存储5门成绩
double sum = 0;//成绩之和初始化为0
//处理5门成绩
for(int i=0; i<5; i++){
System.out.println("请输入5门功课中的第"+(i+1)+"门成绩:");//成绩输入提示
score[i] = read.nextDouble();//输入成绩
sum = sum + score[i];//成绩累加
}
System.out.println(name+"的平均分是:"+(sum/5)); //输出成绩
System.out.println("继续输入吗(y/n)?");//选择输入提示
String option = read.next();//输入选择
if(option.equals("y")){//选择‘y’
;
}
else if(option.equals("n")){//选择‘n’
System.out.println("成绩计算结束!");
break;//结束计算
}
else{
System.out.println("没有这个选项!");
break;//跳出成绩计算
}
}
}
}
第二种方法运行截图:
第一种方法运行截图: