سلام امروز دو تا برنامه یکی دریافت میانگین n عدد با یک حلقه for و برنامه دوم محاسبه میانگین n عدد با آرایه با دوتا حلقه for و توضیحات چگونگی عملکرد برنامه و میزارم سوالی داشتین در بخش نظرات بپرسید.

برنامه میانگین n عدد با یک حلقه for:

import java.util.Scanner;
class Main {
    public static void main(String[] args) {
        System.out.println ( "قصد دارید چند تا عدد وارد بکنید:" );
        Scanner input = new Scanner ( System.in );
        double n = input.nextInt ();
        //تعداد عدد هایی که کاربر قصد دارد وارد برنامه کند
        double total = 0, inputUser = 0, average = 0;

        for (int i = 1; i <= n ; i++) {
            System.out.print ( "عدد شماره" +" "+ i +" "+ "وارد بکنید:");
            inputUser = input.nextDouble ();
            //دریافت عدد های کاربر
            total = inputUser + total;
            //حاصل جمع عدد های دریافت شده از کاربر
        }
        average = total / n;
        //تقسیم حاصل جمع اعداد دریافت شده بر تعداد عدد های دریافت شده
        System.out.println ( "میانگین شما:"+ average );
        //چاپ میانگین
    }
}

خروجی برنامه میانگین n عدد با یک حلقه for: 

قصد دارید چند تا عدد وارد بکنید:
5
عدد شماره 1 وارد بکنید:1
عدد شماره 2 وارد بکنید:2
عدد شماره 3 وارد بکنید:3
عدد شماره 4 وارد بکنید:4
عدد شماره 5 وارد بکنید:5
میانگین شما:3.0

توضیحات برنامه میانگین n عدد با یک حلقه for:

به زودی ...

برنامه میانگین n عدد با آرایه و یک حلقه for :

import java.util.Scanner;
class Main {
    public static void main(String[] args) {
        System.out.println ( "قصد دارید چند تا عدد وارد بکنید:" );
        Scanner input = new Scanner ( System.in );
        int n = input.nextInt ();
        double[] arr = new double[n];
        double total = 0, average = 0;
 
        for (int i = 0; i < arr.length ; i++) {
            System.out.print ( "عدد شماره" +" "+ i +" "+ "وارد بکنید:");
            arr[i] = input.nextDouble ();
            total = arr[i] + total;
        }
        average = total / arr.length;
        System.out.println ( "میانگین شما:"+ average );
    }
}

خروجی برنامه میانگین n عدد با آرایه و یک حلقه for: 

قصد دارید چند تا عدد وارد بکنید:
5
عدد شماره 0 وارد بکنید:1
عدد شماره 1 وارد بکنید:2
عدد شماره 2 وارد بکنید:3
عدد شماره 3 وارد بکنید:4
عدد شماره 4 وارد بکنید:5
میانگین شما:3.0

توضیحات برنامه محاسبه میانگین n عدد با آرایه و یک حلقه for:

چالش اول:‌ کاربر چند تا عدد را میخواهد وارد برنامه بکند؟ و ایجاد خانه یا سلول یا عنصر آرایه به تعداد اعدادی که کاربر میخواهد وارد برنامه بکند.

چالش دوم: مقدار دهی خانه یا سلول یا عناصر ارایه توسط اعداد وارد شده توسط  کاربر در برنامه و حاصل جمع اعداد وارد شده.

چالش سوم: اعداد جمع شده را تقسیم بر تعداد اعداد وارد شده توسط کاربر بکنیم تا میانگین آن را بدست آوریم و میانگین را چاپ بکنیم.

پاسخ چالش اول (کاربر چند تا عدد را میخواهد وارد برنامه بکند؟ و ایجاد خانه یا سلول یا عنصر آرایه به تعداد اعدادی که کاربر میخواهد وارد برنامه بکند):‌

ابتدا باید مشخص بکنیم کاربر چند تا عدد را میخواهد وارد برنامه کند؟

System.out.println ( "قصد دارید چند تا عدد وارد بکنید:" );
Scanner input = new Scanner ( System.in );
int n = input.nextInt ();

در کد بالا تعداد اعدادی که کاربر میخواهد وارد برنامه بکند را مشخص کرده ایم.

حال باید یک آرایه به تعداد اعدادی که کاربر وارد کرده است ایجاد بکنیم. تا بعد بتوانیم مقدار اعداد را در خانه یا سلول یا عناصر آرایه ذخیره کنیم. و با حاصل جمع آرایه و تقسیم بر تعداد کل اعداد وارد شده میانگین آن را محاسبه کنیم.

double[] arr = new double[n];

نوع آرایه double است به این دلیل که کاربراعدادی که قرار است وارد بکند در صورتی که اعشاری بود به مشکل بر نخورد.

دوتا متغیر داریم:‌

total که قرار است حاصل جمع اعداد در این متغیر قرار بگیرند.

average که قرار است میانگین اعداد در این متغیر قرار بگیرند.

double total = 0, averag = 0;

پاسخ چالش دوم (مقدار دهی خانه یا سلول یا عناصر ارایه توسط اعداد وارد شده توسط  کاربر در برنامه و حاصل جمع اعداد وارد شده):‌

خب در چالش قبلی متوجه شدیم کاربر چند تا عدد میخواهد وارد برنامه بکند و یک آرایه خالی به تعداد خانه یا سلول یا عنصری که کاربر وارد کرده است ایجاد کرده ایم. حال قرار است در این خانه یا سلول یا عناصر را مقدار دهی کنیم. برای مقدار دهی باید از یک حلقه for استفاده بکنیم.

for (int i = 0; i < arr.length ; i++) {
   System.out.print ( "عدد شماره" +" "+ i +" "+ "وارد بکنید:");
   arr[i] = input.nextDouble ();
   total = arr[i] + total;
}

خب برای مقدار دهی آرایه باید یک دستور for بنویسیم و درCondition (شرط) حلفه گفتیم تا زمانی که i کوچیک تر از lenght (طول) آرایه بود این حلقه ادامه داشته باشد.

arr.length: طول آرایه یا تعداد خانه یا سلول یا عناصر یک آرایه را بر می گرداند.

در حلقه بالا برای مقدار دهی ارایه توسط کاربر از دستور زیر استفاده کردیم:‌

arr[i] = input.nextDouble ();

به عنوان مثال یک آرایه با تعداد خانه یا سلول یا عنصر ۵ داریم که توسط کاربر وارد شده است:

و کاربر اعداد زیر را در خانه یا سلول یا عناصر آرایه وارد کرده است:

ارایه arr
۱۵ ۱۷ ۱۸ ۲۰ ۱۵

خب همانطور که میدانید در خانه یا سلول یا عناصر آرایه  اعداد زیر در آن ها قرار گرفته است:

arr[0] = 15

arr[1] = 20

arr[2] = 18

arr[3] = 17

arr[4] = 15
جدول مراحل اجرای حلقه For برنامه میانگین n عدد در جاوا
total arr[i] arr.length متغیر i مراحل اجرای حلقه
۰ + ۱۵ = ۱۵ ۱۵ ۵ ۰ ۰
۲۰ + ۱۵ = ۳۵ ۲۰ ۵ ۱ ۱
۱۸ + ۳۵ = ۵۳ ۱۸ ۵ ۲ ۲
۱۷ + ۵۳ = ۷۰ ۱۷ ۵ ۳ ۳
۱۵ + ۷۰ = ۸۵ ۱۵ ۵ ۴ ۴
خروج از حلقه خروج از حلقه ۵ ۵ ۵

در نتیجه حاصل جمع اعدادی که کاربر وارد کرده است ۸۵ می باشد و حالا باید ۸۵ را تقسیم بر تعداد اعداد بکنیم تا میانگین آن بدست آوریم.

پاسخ چالش سوم (اعداد جمع شده را تقسیم بر تعداد اعداد وارد شده توسط کاربر بکنیم تا میانگین آن را بدست آوریم و میانگین را چاپ بکنیم):

ابتدا در کد زیر جمع اعداد که در متغیر total می باشد را تقسیم بر طول آرایه می کنیم:

average = total / arr.length;

خب عدد ۸۵ را که بدست آورده ایم را تقسیم بر طول آرایه می کنیم که نتیجه می شود:

۸۵ / ۵ = ۱۷

۱۷ جواب نهایی مان می باشد و این عدد را چاپ می کنیم:

System.out.println ( "میانگین شما:"+ average );