编写一个计算N个整数平均值的程序。程序应该提示用户输入N的值,如何必须输入所有N个数。如果用户输入的值是一个负数,则应该抛出一个异常并捕获,提示“N必须是正数或者0”。并提示用户再次输入该数(自定义异常)
效果如图:
要计算几个整数的平均值呢:
5
请输入第1个数
50
请输入第2个数
60
请输入第3个数
80
请输入第4个数
90
请输入第5个数
100
一共5个数,和为:380,平均值为:76
----------------------------
要计算几个整数的平均值呢:
3
请输入第1个数
50
请输入第2个数
-15
N必须是正数或者0
请输入第2个数
0
请输入第3个数
-10
N必须是正数或者0
请输入第3个数
60
一共3个数,和为:110,平均值为:36
思路:
(1)用Scanner键盘录入用户输入的数,定义用户输入N个数的总和sum,。
(2)然后在for循环里,让用户依次输入N个数。
(3)其次,先判断输入的数是否为整数或零,再根据输入的数进行判断,如果小于零,就抛出一个异常捕获,再用键盘录入让用户重新输入,最后对用户再次输入的数进行累加。
代码如下:
Scanner sc = new Scanner(System.in);
System.out.println("要计算几个整数的平均值");
int indext = sc.nextInt();
int sum=0;
for(int i=0;i<indext;i++){
System.out.println("请输入第"+(i+1)+"个数");
int num = sc.nextInt();
if(num>=0){
sum+=num;
}else {
try {
method();
} catch (Exception e) {
System.out.println(e);
}if(num<0){
System.out.println("请重新输入"+(i+1)+"个数");
int num2 = sc.nextInt();
sum += num2;
}
}
}
System.out.println("一个"+indext+"个数,和为:"+sum+",平均数为:"+sum/indext);
}
public static void method() throws Exception{
throw new Exception("输入的数必须是整数或者0");
}
}