编写程序代码,求班级数学平均成绩,具体要求如下:
接收给定的数据(如:4 88 43 43 98 #等,其中第一个数代表数组长度,其余数代表班级所有人数学成绩,# 号用于终止接收数据,这些数据用空格进行分隔),遇到 # 号终止接收;
求班级数学平均成绩,平均成绩用 double 类型表示。
用String s ="4 88 43 43 98 #",再用split分割,把转型把数值加入,
判断遇到# break
原来你喜欢的是别人把代码写好给你,这样自己不思考有什么意思
使用 try-catch 机制;
遇到不合法的输入, 则会抛出异常, 此时, 我们跳出循环;
import java.util.Scanner;
import java.util.InputMismatchException;
class Major {
public static void main(String[] argv) {
Scanner scn = new Scanner(System.in);
int cnt = 0;
double res = 0.0;
try {
cnt = scn.nextInt();
}
catch (InputMismatchException e) {
cnt = -1;
}
if (0 >= cnt) {
scn.close();
System.out.println("Wrong input!");
return;
}
for(int i = cnt; i > 0; --i) {
try {
res += (double)scn.nextInt();
}
catch (InputMismatchException e) {
break;
}
}
scn.close();
res /= cnt;
System.out.println("Ave= " + res);
}
}