Java数组练习之商品信息统计 附详细代码
2021-07-27 16:47:23
浏览数 (3583)
学习任何知识之后,都需要经过测试、考试等方式来验证自己是否真的学会了。代码编程也是一样的,也是需要通过练习测试,才能验证自己是否真的明白了。下面,我将通过Java数组的基本知识,来实现商品信息统计的小程序。
一、题目分析
题目:
目前,一个货架上有5件商品。需要在输入商品价格之后,自动输出其中最高价格的商品,商品的价格总和和商品的平均价格。
分析:
根据题目要求,商品价格的数据类型一定是相同类型的,那么可以使用一个一维数组来存储商品的价格。因为商品价格是未知的,需要自己手动输入,此时就需要 Java 中的一个工具类 Scanner类,通过 for 循环将输入的值赋给数组。通过遍历数组的方法,将数组内的每个元素进行相加,即获得商品总价格;同时假设第一个商品最贵,进行遍历的同时,判断下一个是否比给定值要大,是的话就取而代之;在最后除以数组的总长度,即可以获得商品的平均价。
二、具体实现
(1)先声明数组的数据类型,以及声明最大值、总价格以及平均价的类型。
// 声明数组的类型。
int[] prices=new int[5];
// 声明最大值,总价格和平均价
int maxPrice, sumPrice = 0, avgPrice;
(2)导入 Scanner 工具类
import java.util.Scanner;
Scanner sc=new Scanner(System.in);
(3)将输入的值通过 for 循环赋给数组
// 输入5个商品的价格
System.out.println("请输入5个商品的价格:");
// 循环将输入的值赋给数组
for (int i = 0; i < 5; i++) {
prices[0] = sc.nextInt();
}
(4)通过 for 循环以及 if 判断,计算出数组中总价格和最大值,并通过除以数组长度,得出平均价格。
// 假设第一件商品是最贵的
maxPrice = prices[0];
// 循环遍历数组
for (int i = 0; i < prices.length; i++) {
sumPrice += prices[i]; // 价格进行汇总
// 添加判断,如果比最大价格要大,那么就取而代之
if (maxPrice < prices[i]){
maxPrice = prices[i];
}
}
// 进行平均值计算
avgPrice = sumPrice / prices.length;
(5)打印结果
System.out.println("最大价格:"+maxPrice);
System.out.println("总价格:"+sumPrice);
System.out.println("平均结果:"+avgPrice);
请输入5个商品的价格:
20
15
32
16
24
最大价格:24
总价格:24
平均结果:4
三、完整代码
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
// 声明数组的类型。
int[] prices = new int[5];
// 声明最大值,总价格和平均价
int maxPrice, sumPrice = 0, avgPrice;
Scanner sc=new Scanner(System.in);
// 输入5个商品的价格
System.out.println("请输入5个商品的价格:");
// 循环将输入的值赋给数组
for (int i = 0; i < 5; i++) {
prices[0] = sc.nextInt();
}
// 假设第一件商品是最贵的
maxPrice = prices[0];
// 循环遍历数组
for (int i = 0; i < prices.length; i++) {
sumPrice += prices[i]; // 价格进行汇总
// 添加判断,如果比最大价格要大,那么就取而代之
if (maxPrice < prices[i]){
maxPrice = prices[i];
}
}
// 进行平均值计算
avgPrice = sumPrice / prices.length;
System.out.println("最大价格:"+maxPrice);
System.out.println("总价格:"+sumPrice);
System.out.println("平均结果:"+avgPrice);
}
}
四、总结
以上就是关于 Java 数组学习后,做一个商品信息统计的小程序代码来验证自己的学习成果的全部内容。想要了解更多相关 Java 其他方面的内容,可以搜索W3Cschool里面的相关文章。如果本文对大家的学习有所帮助,还希望大家能够多多关注和支持我们!