任务描述
本关任务:使用 Scanner 对象获取一组等差整数(键盘输入的数之间用空格分隔,最后一个为 %,不计入计算),统计出等差数列的均值(保留两位小数)。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。
/*
任务:接收输入值(整数数列),统计出等差数列的均值,每组输入以%结束,比如1 3 5 %。
其中百分号的作用是:在while循环中判断输入为%时,终止循环。
*/
import java.util.Scanner;
public class WhileTest {
public static void main(String[] args) {
// 定义变量sum,用于求等差数列的和
int sum=0;
// 定义变量z,记录等差数个数
int z=0;
// 创建Scanner对象
Scanner input = new Scanner(System.in);
// 请在 Begin-End 间编写代码
/********** Begin **********/
// 第一步:使用while循环接收Scanner对象接收的值,当下一个值等于%时,终止循环
while(!input.hasNext("%")) {
//可以用hasNext来判断是否输入的是“%”
// 第二步:获取输入值
int a = input.nextInt();
// 第三步:对输入的数列值求和
sum += (int)a;
// 第四步:统计数列个数
z++;
}
// 第五步:数列中值的总和,除以数列个数求出均值(保留两位小数)
double b=(double)sum/z;
System.out.println(String.format("%.2f",b));
//通过String.format来规范小数个数
/********** End **********/
}
}