টার্নারি অপারেটর হলো সাধারণ if/else স্টেটমেন্টের একটি হালকা ও সংক্ষিপ্ত বিকল্প।
সাধারণত রিটার্ন স্টেটমেন্টে ব্যবহৃত হয় (তবে শুধু সেখানেই সীমাবদ্ধ নয়), সিদ্ধান্ত নিতে এটির মাত্র একটি লাইন লাগে; এক্সপ্রেশনটি true হলে বাম দিকের মান এবং false হলে ডান দিকের মান রিটার্ন করে, নিম্নরূপ:
boolean expr = 0 != 200;
// Ternary statement
int value = expr ? 22 : 33;
// => 22
অনেক সাধারণ if/else এক্সপ্রেশন টার্নারি অপারেটর ব্যবহার করে সহজ করা যায়।
এই অনুশীলনীতে আপনি একজন কর্মীর এক মাসের মোট বেতন হিসাব করার নিয়মগুলো ইমপ্লিমেন্ট করবেন। International Siderurgy Company (ISC)-এর কর্মীদের বেতন হিসাব করতে সহায়তা দরকার, যেখানে চূড়ান্ত বেতনে প্রভাব ফেলতে পারে এমন নানা বিষয় বিবেচনা করতে হবে।
আপনার তিনটি কাজ আছে, আর সেগুলো ইমপ্লিমেন্ট করতে if/else স্টেটমেন্টের বদলে টার্নারি অপারেটর ব্যবহার করা উচিত।
salaryMultiplier মেথডটি ইমপ্লিমেন্ট করুন, যা একজন কর্মী কত দিন কাজ বাদ দিয়েছে তার ভিত্তিতে বেতন মাল্টিপ্লায়ার রিটার্ন করে।
কর্মী কমপক্ষে পাঁচ দিন কাজ বাদ দিলে ১৫% জরিমানা প্রয়োগ করুন।
int daysSkipped = 3;
salaryMultiplier(daysSkipped);
// => 1.0
daysSkipped = 7;
salaryMultiplier(daysSkipped);
// => 0.85
bonusMultiplier ও bonusForProductsSold মেথড দুটি ইমপ্লিমেন্ট করুন।
ISC প্রতিটি বিক্রি হওয়া পণ্যের জন্য দশ আর্থিক একক দেয়, আর কোনো কর্মী বিশটি বা তার বেশি পণ্য বিক্রি করলে মাল্টিপ্লায়ার বেড়ে তেরো হয়ে যায়।
bonusMultiplier কোন মাল্টিপ্লায়ার প্রয়োগ করতে হবে তা নির্ধারণ করবে, আর bonusForProductSold আর্থিক এককে মোট বোনাস রিটার্ন করবে।
int productsSold = 21;
bonusMultiplier(productsSold);
// => 13
bonusForProductsSold(productsSold);
// => 273
productsSold = 5;
bonusMultiplier(productsSold);
// => 10
bonusForProductsSold(productsSold);
// => 50
finalSalary মেথডটি ইমপ্লিমেন্ট করুন।
এটি 1000.00 মূল বেতনকে বেতন মাল্টিপ্লায়ার দিয়ে গুণ করবে, বোনাস যোগ করবে, এবং ফলাফলটি রিটার্ন করবে।
তবে বেতনগুলো 2000.00 পর্যন্ত সীমাবদ্ধ থাকা উচিত।
int daysSkipped = 2;
int productsSold = 3;
finalSalary(daysSkipped, productsSold);
// => 1030.00
productsSold = 90;
finalSalary(daysSkipped, productsSold);
// => 2000.00
Exercism-এ সাইন আপ করুন, Java ট্র্যাকের 26টি কনসেপ্ট158টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।