执行结果截图:
代码:
import java.util.Scanner; public class WhileScanner { /* 作为一个计算器使用者,我们可以从键盘输入多个数字,每输入一个数字用回车确认, 同时可以累计数字个数,累加数字。 通过输入非数字来结束输入,并输出所有已输入数字的总和以及求平均数。 */ public static void main(String[] args) { // 实例化一个扫描器对象,用于从键盘接收数据 Scanner scanner = new Scanner(System.in); double sum = 0; int currentDataCount = 0; System.out.println("请输入数字(整数或小数):"); // While语句块会接收键盘输入的数据,并判断输入的数据是否是数字,如果是就执行While循环 while (scanner.hasNextDouble()){ // 定义所接收的数据的类型是double类型 double x = scanner.nextDouble(); // 对输入的数据个数进行计数 currentDataCount++; // 对输入的数据进行累加 sum = sum + x; // 将当前输入的数据转化为字符串 String currentInputData = String.valueOf(x); // 将当前已输入数据求和的结果转化为字符串 String currentSum = String.valueOf(sum); // 定义格式化输出,其中%s指字符串类型,%d指int类型,%n是换行符 String sentenceFormat = "%s 是你输入的第 %d 个数据, 然后当前数据之和是 %s %n"; // 格式化输出显示当前输入的数据,已输入数据的个数累计,以及显示对当前已输入数据进行求和的结果 System.out.printf(sentenceFormat, currentInputData, currentDataCount, currentSum); } System.out.println("输入数字之和" + sum); System.out.println("输入数字的平均值为" + (sum / currentDataCount)); scanner.close(); } }