Java如何实现从键盘输入图书价格替换代码中固定数值
Java图书总价计算程序用户输入版本实现方案
实现思路
- 引入Java内置的
Scanner工具类,用于读取用户在控制台输入的内容 - 先让用户输入需要统计的图书总数量,根据数量创建对应长度的价格数组
- 循环提示用户依次输入每本图书的价格,存入数组
- 复用原有总价计算逻辑输出结果即可,原有计算逻辑不需要修改
完整修改后代码
package com.test1; // 导入Scanner类,它是Java自带的控制台输入工具 import java.util.Scanner; public class example1 { public static void printTotalAmountForBooks(double[] prices) { double totalAmount = 0; for (double singleBookPrice : prices) { totalAmount += singleBookPrice; } System.out.println("所有图书的总价是: " + totalAmount); } public static void main(String[] args) { // 初始化Scanner对象,绑定控制台输入流 Scanner input = new Scanner(System.in); // 提示用户输入图书数量 System.out.print("请输入要统计的图书总数量:"); int bookCount = input.nextInt(); // 根据输入的数量创建价格数组 double[] pricesArr = new double[bookCount]; // 循环读取每本书的价格 for (int i = 0; i < bookCount; i++) { System.out.print("请输入第" + (i+1) + "本图书的价格:"); pricesArr[i] = input.nextDouble(); } // 关闭输入流,避免资源泄漏 input.close(); // 调用原有方法计算总价 printTotalAmountForBooks(pricesArr); } }
关键改动说明
- 代码开头加了
import java.util.Scanner;,这行是告诉Java我们要使用官方提供的输入工具类 - main方法里删掉了原来硬编码的价格数组,改成动态根据用户输入的数量创建数组
- 新增的循环会依次提示输入每本书的价格,全部输入完成后自动计算总价
使用注意
运行程序后按照控制台的提示输入即可,注意输入价格的时候要输入合法的数字(可以是整数也可以是小数),如果输入字母等非数字内容程序会报错。
内容的提问来源于stack exchange,提问作者Dari Popov
相关产品推荐
相关产品推荐

