App下載

Java數(shù)組練習(xí)之商品信息統(tǒng)計(jì) 附詳細(xì)代碼

猿友 2021-07-27 16:47:23 瀏覽數(shù) (3474)
反饋

學(xué)習(xí)任何知識(shí)之后,都需要經(jīng)過測(cè)試、考試等方式來驗(yàn)證自己是否真的學(xué)會(huì)了。代碼編程也是一樣的,也是需要通過練習(xí)測(cè)試,才能驗(yàn)證自己是否真的明白了。下面,我將通過Java數(shù)組的基本知識(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ù)組的總長(zhǎng)度,即可以獲得商品的平均價(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("請(qǐng)輸入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ù)組長(zhǎng)度,得出平均價(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);
請(qǐng)輸入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("請(qǐng)輸入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í)成果的全部?jī)?nèi)容。想要了解更多相關(guān) Java 其他方面的內(nèi)容,可以搜索W3Cschool里面的相關(guān)文章。如果本文對(duì)大家的學(xué)習(xí)有所幫助,還希望大家能夠多多關(guān)注和支持我們!


0 人點(diǎn)贊