লেখক পরিচিতি
লেখকের নাম:
মো: আবদুল কাদের
মোট লেখা:৪
লেখা সম্পর্কিত
জাভা দিয়ে লজিক বিল্ডিং
জাভা দিয়ে লজিক বিল্ডিং
মো: আবদুল কাদের
একজন প্রোগ্রামার ব্যবহারকারীর চাহিদা সঠিকভাবে উপলব্ধি করে সেই মোতাবেক কম সময় ব্যয় করেন ও অল্প পরিশ্রমে কাক্সিক্ষত আউটপুট বা লক্ষ্যে পৌঁছানোর জন্য যথোপযুক্ত কোড ব্যবহার করে একটি প্রোগ্রাম তৈরি করেন। একই ধরনের আউটপুটের জন্য অনেক সময় একটি প্রোগ্রাম বিভিন্নভাবে লেখা যায়। তবে কম কোড ব্যবহার করে এবং সহজেই যাতে তা ব্যবহারকারীর বোধগম্য হয়, সেভাবেই প্রোগ্রাম তৈরি করাই একজন দক্ষ প্রোগ্রামারের কাজ। কম কোড ব্যবহারের সুবিধা হলো এতে ভুল হওয়ার সম্ভাবনা কম থাকে এবং কোডে কোনো এরর থাকলে সহজেই তা খুঁজে বের করা যায়। যেমন “ঐবষষড় ইধহমষধফবংয!” কথাটিকে যদি আমরা ৫ বার আউটপুট দেখাতে চাই, তাহলে মেইন মেথডে নিচের কোডটি লিখতে হবে।
System.out.println (ÒHello Bangladesh!);
System.out.println (ÒHello Bangladesh!);
System.out.println (ÒHello Bangladesh!);
System.out.println (ÒHello Bangladesh!);
System.out.println (ÒHello Bangladesh!);
একই কোড বার বার লিখতে গেলে যেকোনো একটি ভুল যেমন ঝুংঃবস-এর ঝ ছোট হাতের লিখলে অথবা ইনভার্টেড কমা (“ ”) সঠিকভাবে না দিলে বা কোনো একটি স্টেটমেন্টের শেষে সেমিকোলন (;) না দিলে প্রোগ্রামটি রান করবে না, ফলে আউটপুটও দেখা যাবে না। এই একই কাজটি আমরা নিচের কোডের মাধ্যমে সহজেই করতে পারি।
for (int i=1; i<=5; i++)
{
System.out.println (ÒHello Bangladesh!);
}
এখানে একটি লুপ ব্যবহার করে আমাদের কাক্সিক্ষত আউটপুট সহজেই পেয়ে যাচ্ছি। এই কোডটি লেখার পরও যদি প্রোগ্রামে কোনো ভুল থাকে, তাহলেও যেহেতু কোডটি দুই লাইনের তাই সহজেই বের করা সম্ভব। অধিকন্তু, যদি আউটপুটটি আমাদের আরও বেশি সংখ্যায় প্রয়োজন হতো তাহলে প্রথম নিয়মে করা সত্যিই কষ্টকর এবং ভুল আরও বাড়ার সম্ভাবনা থাকবে। কিন্তু দ্বিতীয় নিয়মে আমরা ১০০ বার আউটপুটটি চাইলেও কোডের কোনো পরিবর্তন করতে হবে না শুধু ৫ এর পরিবর্তে ১০০ লিখতে হবে।
এখন আমরা একটি প্রোগ্রাম দেখব, যেখানে প্রোগ্রাম রান করার সময় ইউজারের দেয়া একটি সংখ্যার জন্য কোন টাকার নোট কতগুলো পরিমাণ লাগবে (বড় সংখ্যার নোট থেকে ছোট সংখ্যার) তা আউটপুটে দেখাবে। সাধারণত হিসাব শাখার জন্য এ প্রোগ্রামটি গুরুত্বপূর্ণ। নিচের প্রোগ্রামটি নোটপ্যাডে টাইপ করে ConvrtInNote.java নামে সেভ করে চিত্র-১-এর মতো করে রান করতে হবে।
public class ConvrtInNote
{
public static void main(String args[])
{
int t500=0, t100=0, t50=0, t20=0, t10=0, t5=0, t2=0, t1=0;
int a = Integer.parseInt(args[0]); //1
System.out.println(a + Ò taka is converting in noteÓ);
System.out.println(Ò———————————Ó);
t500=a/500; //2
if (t500 !=0)
System.out.println(Ò500 Taka note need : Ò + t500 + Ò pieceÓ);
t100=(a-(t500*500))/100; //3
if (t100 !=0)
System.out.println(Ò100 Taka note need : Ò + t100 + Ò pieceÓ);
t50=(a-(t500*500 + t100*100))/50; //4
if (t50 !=0)
System.out.println(Ò50 Taka note need : Ò + t50 + Ò pieceÓ);
t20=(a-(t500*500 + t100*100 + t50*50))/20; //5
if (t20 !=0)
System.out.println(Ò20 Taka note need : Ò + t20 + Ò pieceÓ);
t10=(a-(t500*500 + t100*100 + t50*50 + t20*20))/10;//6
if (t10 !=0)
System.out.println(Ò10 Taka note need : Ò + t10 + Ò pieceÓ);
t5=(a-(t500*500 + t100*100 + t50*50 + t20*20 + t10*10))/5; //7
if (t5 !=0)
System.out.println(Ò5 Taka note need : Ò + t5 + Ò pieceÓ);
t2=(a-(t500*500 + t100*100 + t50*50 + t20*20 + t10*10 + t5*5))/2; //8
if (t2 !=0)
System.out.println(Ò2 Taka note need : Ò + t2 + Ò pieceÓ);
t1=a-(t500*500 + t100*100 + t50*50 + t20*20 + t10*10 + t5*5 + t2*2); //9
if (t1 !=0)
System.out.println(Ò1 Taka note need : Ò + t1 + Ò pieceÓ);
}
}
কোড বিশ্লেষণ
প্রোগ্রামটিতে আট ধরনের নোট রাখার জন্য ৮টি ইন্টিজার টাইপের ভেরিয়েবল নেয়া হয়েছে। ১ নম্বর চিহ্নিত লাইনে কিবোর্ড থেকে নেয়া ইনপুট কনভার্ট করে ধ নামের ভেরিয়েবলে রাখা হয়েছে। এরপর ২, ৩, ৪, ৫, ৬, ৭, ৮ ও ৯ নম্বর লাইনে লজিক সেট করে ক্রমান্বয়ে ৫০০, ১০০, ৫০, ২০, ১০, ৫, ২ এবং ১ টাকার নোটে পরিবর্তন করা হয়েছে, যা পরবর্তী লাইনগুলোর মাধ্যমে প্রিন্ট করা হয়েছে। প্রোগ্রামটি দেখলে খুব সহজেই বোঝা যাবে।
চিত্র-১ : ConvrtInNote.java
অ্যাকাউন্ট ব্যালেন্স চেক করার পদ্ধতি
এবার আমরা গ্রাহকের অ্যাকাউন্ট ব্যালেন্স চেক করার একটি প্রোগ্রাম দেখব। নিচের প্রোগ্রামটি AccountBalance.java নামে সেভ করতে হবে এবং চিত্র-২-এর মতো রান করতে হবে। এখানে গ্রাহকের ব্যালেন্স ৫০ টাকার নিচে আসলে একটি মেসেজ দেবে।
class Balance {
String name;
int bal;
Balance(String n,int b) {
name = n;
bal = b;
System.out.println(ÒThe balance of Ò + name + ÒisÓ + bal);
}
void show() {
if (bal < 50)
{
System.out.println(ÒÓ);
System.out.println(ÒThe balance of Ò + name +Ó is going to yeroÓ);
}
}
}
class AccountBalance {
public static void main (String args[]) {
int i;
Balance current[] = nwe Balance[3];
current[0] = nwe Balance(ÒKarimÓ,200);
current[1] = nwe Balance(ÒRahimÓ,40);
current[2] = nwe Balance(ÒSadekÓ,400);
for (i=0;i<=2;i++) {
current[i].show();
}
}
}
চিত্র-২ : AccountBalance.java
ফিডব্যাক : balaith@gmail.com