學(xué)習(xí)任何知識之后,都需要經(jīng)過測試、考試等方式來驗(yàn)證自己是否真的學(xué)會了。代碼編程也是一樣的,也是需要通過練習(xí)測試,才能驗(yàn)證自己是否真的明白了。下面,我將通過Java數(shù)組的基本知識,來實(shí)現(xiàn)商品信息統(tǒng)計的小程序。
一、題目分析
題目:
目前,一個貨架上有5件商品。需要在輸入商品價格之后,自動輸出其中最高價格的商品,商品的價格總和和商品的平均價格。
分析:
根據(jù)題目要求,商品價格的數(shù)據(jù)類型一定是相同類型的,那么可以使用一個一維數(shù)組來存儲商品的價格。因?yàn)樯唐穬r格是未知的,需要自己手動輸入,此時就需要 Java 中的一個工具類 Scanner類,通過 for 循環(huán)將輸入的值賦給數(shù)組。通過遍歷數(shù)組的方法,將數(shù)組內(nèi)的每個元素進(jìn)行相加,即獲得商品總價格;同時假設(shè)第一個商品最貴,進(jìn)行遍歷的同時,判斷下一個是否比給定值要大,是的話就取而代之;在最后除以數(shù)組的總長度,即可以獲得商品的平均價。
二、具體實(shí)現(xiàn)
(1)先聲明數(shù)組的數(shù)據(jù)類型,以及聲明最大值、總價格以及平均價的類型。
// 聲明數(shù)組的類型。
int[] prices=new int[5];
// 聲明最大值,總價格和平均價
int maxPrice, sumPrice = 0, avgPrice;
(2)導(dǎo)入 Scanner 工具類
import java.util.Scanner;
Scanner sc=new Scanner(System.in);
(3)將輸入的值通過 for 循環(huán)賦給數(shù)組
// 輸入5個商品的價格
System.out.println("請輸入5個商品的價格:");
// 循環(huán)將輸入的值賦給數(shù)組
for (int i = 0; i < 5; i++) {
prices[0] = sc.nextInt();
}
(4)通過 for 循環(huán)以及 if 判斷,計算出數(shù)組中總價格和最大值,并通過除以數(shù)組長度,得出平均價格。
// 假設(shè)第一件商品是最貴的
maxPrice = prices[0];
// 循環(huán)遍歷數(shù)組
for (int i = 0; i < prices.length; i++) {
sumPrice += prices[i]; // 價格進(jìn)行匯總
// 添加判斷,如果比最大價格要大,那么就取而代之
if (maxPrice < prices[i]){
maxPrice = prices[i];
}
}
// 進(jìn)行平均值計算
avgPrice = sumPrice / prices.length;
(5)打印結(jié)果
System.out.println("最大價格:"+maxPrice);
System.out.println("總價格:"+sumPrice);
System.out.println("平均結(jié)果:"+avgPrice);
請輸入5個商品的價格:
20
15
32
16
24
最大價格:24
總價格:24
平均結(jié)果:4
三、完整代碼
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
// 聲明數(shù)組的類型。
int[] prices = new int[5];
// 聲明最大值,總價格和平均價
int maxPrice, sumPrice = 0, avgPrice;
Scanner sc=new Scanner(System.in);
// 輸入5個商品的價格
System.out.println("請輸入5個商品的價格:");
// 循環(huán)將輸入的值賦給數(shù)組
for (int i = 0; i < 5; i++) {
prices[0] = sc.nextInt();
}
// 假設(shè)第一件商品是最貴的
maxPrice = prices[0];
// 循環(huán)遍歷數(shù)組
for (int i = 0; i < prices.length; i++) {
sumPrice += prices[i]; // 價格進(jìn)行匯總
// 添加判斷,如果比最大價格要大,那么就取而代之
if (maxPrice < prices[i]){
maxPrice = prices[i];
}
}
// 進(jìn)行平均值計算
avgPrice = sumPrice / prices.length;
System.out.println("最大價格:"+maxPrice);
System.out.println("總價格:"+sumPrice);
System.out.println("平均結(jié)果:"+avgPrice);
}
}
四、總結(jié)
以上就是關(guān)于 Java 數(shù)組學(xué)習(xí)后,做一個商品信息統(tǒng)計的小程序代碼來驗(yàn)證自己的學(xué)習(xí)成果的全部內(nèi)容。想要了解更多相關(guān) Java 其他方面的內(nèi)容,可以搜索W3Cschool里面的相關(guān)文章。如果本文對大家的學(xué)習(xí)有所幫助,還希望大家能夠多多關(guān)注和支持我們!