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