تمرین سادهتر کوئرا با جاوا
در این نوشته تمرین سادهتر که در وبسایت کوئرا موجود است را برای شما کاربران عزیز حل کردهایم.
تمرین سادهتر کوئرا با جاوا
سوال تمرین
برنامهای بنویسید که ۴ عدد از ورودی بگیرد و حاصل جمع، میانگین، حاصل ضرب، عضو بیشینه و عضو کمینه را در خروجی چاپ کند.
ورودی تمرین
در هر یک از چهار خط ورودی یک عدد صحیح آمده است که قدر مطلق هیچ یک از آنها از ۱۰۰۰ بیشتر نیست.
خروجی تمرین
خروجی پنج خط است که به ترتیب مجموع اعداد، میانگین، ضرب، بیشینه و کمینهی باید در آنها چاپ شوند. نحوهی خروجی دادن به این صورت است که مانند نمونهی پایین باید اول نام خروجی مورد نظر سپس یک فاصله، دونقطه، فاصلهی مجدد و در آخر عدد مورد نظر با دقیقا ۶ رقم اعشار چاپ شود.
مثال تمرین
input : 1 2 3 4 output : Sum : 10.000000 Average : 2.500000 Product : 24.000000 MAX : 4.000000 MIN : 1.000000
حل تمرین
import java.math.RoundingMode; import java.text.DecimalFormat; import java.util.Scanner; public class Main { static Scanner sc; public static void main(String[] args) { sc = new Scanner(System.in); float Numbers[] = new float[4]; Numbers[0] = sc.nextInt(); Numbers[1] = sc.nextInt(); Numbers[2] = sc.nextInt(); Numbers[3] = sc.nextInt(); float Sum = Numbers[0] + Numbers[1] + Numbers[2] + Numbers[3]; float Average; if(Sum == 0) Average = Sum - Sum; else Average = Sum / 4; float Product = Numbers[0] * Numbers[1] * Numbers[2] * Numbers[3]; float MAX = Math.max(Numbers[0], Math.max(Numbers[1], Math.max(Numbers[2], Numbers[3]))); float MIN = Math.min(Numbers[0], Math.min(Numbers[1], Math.min(Numbers[2], Numbers[3]))); DecimalFormat df = new DecimalFormat("#.000000"); df.setRoundingMode(RoundingMode.CEILING); if(Sum == 0) System.out.println("Sum : 0.000000"); else System.out.println("Sum : " + df.format(Sum)); if(Average == 0) System.out.println("Average : 0.000000"); else System.out.println("Average : " + df.format(Average)); if(Product == 0) System.out.println("Product : 0.000000"); else System.out.println("Product : " + df.format(Product)); if(MAX == 0) System.out.println("MAX : 0.000000"); else System.out.println("MAX : " + df.format(MAX)); if(MIN == 0) System.out.println("MIN : 0.000000"); else System.out.println("MIN : " + df.format(MIN)); } }
روش حل تمرین
ابتدا با Scanner چهار ورودی را با تابع nextInt میگیریم. در مرحلهی بعد از جمع چهار عدد دریافت شده مقدار SUM را بدست میآوریم. بعد از بدست آوردن SUM مقدار AVERAGE را با جمع اعداد و تقسیم آنها به تعدادشان بدست میآوریم.
نکته در مورد AVERAGE: چون در این محاسبه عملگر تقسیم داریم باید بررسی کنیم که جمع اعداد مقدار 0 نداشته که خطای تقسیم بر صفر بدست بیاید.
در مرحلهی بعد ضرب اعداد را برای مقدار PRODUCT بدست میآوریم. مقدار MIN و MAX را هم با توابع موجود در کتابخانهی MATH جاوا بدست میآوریم. به کمک DecimalFormat میتوانیم اندازهی تعداد اعشار را با یک قالب فرمت بندی تعیین کنیم. در آخر هم مقادیر خروجی را طبق صورت خواسته شده چاپ میکنیم.
منبع سوال: وبسایت کوئرا
اگر روش حل بهتری دارید برای ما ارسال کنید تا با نام خودتان به اشتراک بگذاریم. اگر سوال خاصی را مدنظر دارید در بخش نظرات برای ما ارسال کنید تا حل آن سوال را در الویت محتوای سایت بگذاریم.
ارسال پاسخ